[Haskell-cafe] "with" and "preserving" for local state