I think we probably want to rewrite this so that `cmp` doesn't even show up in the signature on Python 3.  It's not a particularly long method, so we could probably cope with the code duplication involved in something like:

```
if sys.version_info >= (3,):
    def sort ( ... ):
        ...
else:
    def sort ( ... ):
        ...
```