&gt; In any case, you might argue it isn&#x27;t a mathematical monad, but it can still be a Haskell monad as long as it implements the typeclass.<p>This attitude is unacceptable, because it undermines the meaning of abstractions, on which much of the Haskell ecosystem critically depends. It is also a potential turnoff for those who want to learn Haskell but find the learning curve too steep: &quot;What use is investing so much time and effort learning abstractions that people will routinely break anyway?&quot;