[Haskell-cafe] Catering for similar operations with and without state