But... isn't that what the author says?<p><i>Haskell is right. Sugaring in the conjunction like Python violates non-associativity, which exists for predicate relations in human languages. And it's not a type error; it's a syntax error.<p>Note that in mathematics one sees things that look like "1 &#60; i &#60; n", which seems similar to what Python allows. But, if you ask a mathematician to read this aloud, they will say "some i between one and n", or in certain contexts "all i between one and n". This is an entirely different thing; it is not a predicate at all.</i><p>[...]<p><i>So with &#60;, it's non-associative and bad to sugar up the error you get if you try to use it associatively.</i>