pipes's core data type is the
Proxy monad transformer.
Consumer and so on are defined in terms of
Proxy is a monad transformer, definitions of
Pipes take the form of monadic scripts which
yield values, additionally performing effects from the base monad