Hmmm... but by the same argument, Ruby is also doing it right, by correctly crashing at runtime (there is no way for a language without a type-system and with redefinable operators to discover the error at compile time).<p>Somehow the author isn't clear on whether he wants "1 &#60; 2 &#60; 3" to return true or to be rejected; if it's the latter, then most languages get it right (except Python and Matlab, as far as I know).