Well, it's called on owned vectors from the HashMap and it's returning owned vectors to the caller, since they are not the same after re-ordering. The tests only use it in a way that would allow these vectors to be moved, but the intention is that it's a persistent data structure that you can call `sorted()` or `grade(uint)` on more than once.

In this particular case preserving the vectors in insertion order isn't important, since the data is always returned sorted, but in some of the other language tests you're supposed to be able to get the data in sorted or insertion order so I wanted to ensure that the representation could permit that.