2 ms·
The operations also need to obey the "Monad Laws" https://wiki.haskell.org/Monad_laws https://wiki.haskell.org/Monad_laws. But the intuitive version is that an
by moomin 10y ago
The operations also need to obey the "Monad Laws" https://wiki.haskell.org/Monad_laws https://wiki.haskell.org/Monad_laws.
But the intuitive version is that anything with those two operations that doesn't smell funny is a Monad.
(Think of it like implementing an interface: anything that matches the type signature will work, but if you write something silly, it won't work right)