This library defines a set of functions that convert between the Pipes and Data.Enumerator paradigms. The conversion is bidirectional: an appropriately-typed pipe can be converted into an Data.Enumerator.Iteratee and back into a pipe. In addition, a pipe can be fed into an iteratee (or, more specifically, Data.Enumerator.Step ), resulting in an Data.Enumerator.Enumerator . The library has been designed specifically for use with Snap, but I'm sure that many other interesting uses of it exist.