e2A bidirectional bridge between pipes and iteratees* 2015 Patryk Zadarnowski <pat@jantar.org>BSD3pat@jantar.org experimentalportableSafe Converts a  to an optional list.Converts an optional list to a .*Converts an optional value to a singleton . Converts an   into a . Converts a   into a . Converts a  into an  1. Any output of the pipe is quietly discarded.Feed the output of a  to a  ', effectively converting it into an  , generalised slightly to allow distinct input and output types. The chunks of the input stream are fed into the pipe one element at the time, and the pipe's output is fed to the iteratee one element per chunk. Once the input reaches  (, the pipe is fed an infinite stream of   until it ends with a pure value, which is discarded. In effect, both the pipe and the iteratee are always consumed fully.Feed the output of a  to a  ', effectively converting it into an  j, generalised to allow distinct input and output types and a custom monadic function for merging of the pipe's and step's results into a single result of the constructed iteratee. The chunks of the input stream are fed into the pipe one element at the time, and the pipe's output is fed to the iteratee one element per chunk. Once the input reaches  +, the pipe is fed an infinite stream of  s until it ends with a pure value, which is combined with the step's result using the supplied monadic function f. In effect, both the pipe and the iteratee are always consumed fully, with the resulting iteratee returning the results of both transformers.        pipee_F9PGILVrR54FtLo9dyN2cmPipes.EnumeratorPConsumerPipe fromStreamtoStreamtoSingletonStreamiterateeToPipe stepToPipepipeToIterateepipeToEnumeratorpipeToEnumerator'enume_FqhmCO6O84n2nT5fRF2IqgData.Enumerator.InternalStreamIterateeStep EnumeratorEOFbaseGHC.BaseNothing