On 25 Jan 2005, at 09:30, Daniel Fischer wrote:
putStrLn "hello" >>= (\_ -> mzero)
===
(\_ -> mzero) ()
...no. That last identity holds for 'return ()' but not for 'putStrLn
"hello"'.
The monad law is a law for 'return' not for arbitrary things.
Jules