[Haskell-cafe] message passing style in Monad