[Haskell-cafe] Implementing the State Monad