runWriter package:arrows

Encapsulation of a writer computation, providing the accumulated output. Typical usage in arrow notation:
proc p -> do
...
(result, output) <- (|runWriter cmd|)