[Haskell-beginners] State Monad in constant space?