The permutation that would sort values: perm(k) is the index of the element that
belongs at position k. values is never modified.
The permutation's integer kind is chosen by how the caller declares perm. The
integer(int32) form aborts when the array is longer than huge(1_int32) rather than
truncating; declare perm as integer(int64) for arrays that large.
This tier covers the six intrinsic element types.
parquet_sorting imports this generic and adds its own specifics to it, so a program
with a single use parquet_sorting sees one pf_argsort covering all eleven types.