[O]bjects of different types always compare unequal, and are ordered consistently but arbitrarily.
And later on:
[T]he choice whether one object is considered smaller or larger than another one is made arbitrarily but consistently within one execution of a program.
This behavior is crap. What does this mean? It means that 2 < ‘a’. SSS
Ruby gets this right.