What about pipeline :: MonadIO m => Enumerator ByteString m () -> [Text] -> [Filter] -> Iteratee ByteString m () pipeline s rfs fs = s $$ splitLines =$ parseLine =$ filterObjects fs =$ restrictObjects rfs =$ encoder =$ output Cheers, -- Felipe.