Agreed, but: 1. the OP did not ask for the difference between Guttman-Rosler and Schwartzian transforms, but only if MJD's code he had was a canonical ST. And this example is a canonical ST, which it what I said. The fact that I somewhat summarized for brevity (and because it could be other code for a different probklem and still be a ST) does not invalidate my point and certainly does not make the OP's initial code nor the summary that I made a GR transform. As you said, a GR transform would have omitted the sort block. I reallyt think that the OP question was whether the standard ST consists of the map-sort-map construct.