It is still crazy to me that in Python
('' or 10) == 10 # True
That's like making the universe crazier one electron at a time.But yes, it's just about having the right abstractions. What's nice about the Haskell solution is that the right abstractions make the code much nicer (to my eye).