shuffle : grading a bunch of uniformly distributed random numbers is a good way to produce a quite uniformly distributed random permutation (a fair shuffling). [#store] applies the shuffling to the list at the top unshuffle... this also uses [#grade] [#outer] [#store] internally... have a look grid of size (n) to be sorted this takes an average time proportional to n*log(n) (a pass on the data takes n time, and sorting something with a twice bigger n takes an extra pass, thus the log(n)... in base two) this does not support sorting grids in more dimensions : then you have to decide a policy for how the sorting to happen. If you have a suggestion about what [#sort] should do with multidimensional grids, contact the author. sorted data, of same size and type as the input.