`opCmp` returns an int, yes, but good old `<` returns a boolean (`true`/`flase` or `0`/`1`).

So `a < b` transforms to `false - true` which is `-1`.