censor -transformers

censor :: MonadWriter w m => (w -> w) -> m a -> m a
mtl Control.Monad.Writer.Class, mtl Control.Monad.Writer.Lazy, mtl Control.Monad.Writer.Strict
censor f m is an action that executes the action m and applies the function f to its output, leaving the return value unchanged. *  f m = pass (liftM (\x -> > (x,f))