This variant of
sortOn recomputes the sorting key every
comparison. This can be better for functions that are cheap to
compute. This is definitely better for projections, as the
decorate-sort-undecorate saves nothing and adds two traversals of the
list and extra memory allocation.