export function rangedPartialSort$<T, U=T>(x: T[], i: number, I: number, n: number, fc: CompareFunction<T|U> | null=null, fm: MapFunction<T, T|U> | null=null, fs: SwapFunction<T> | null=null): T[] {
  var fc = fc || COMPARE;
  var fm = fm || IDENTITY;
  var fs = fs || swapRaw$;
  var [i, I] = indexRange(x, i, I);