[Haskell-cafe] state updates and efficiency