[Haskell-cafe] A question about State Monad and Monad in general