#3878 did not add return types to pselect* functions because they can return array, null, and sometimes false (I believe). Wrapper functions in other classes and modules that call pselect functions are unable to have return types for the same reason.
It would be good to standardize and document the types that these functions can return and eventually to add appropriate return types.