Basic Iteratees

Takes an element predicate and returns the (possibly empty) prefix of
the stream. None of the characters in the string satisfy the character
predicate.
If the stream is not terminated, the first character of the remaining stream
satisfies the predicate.

N.B. breakE should be used in preference to break.
break will retain all data until the predicate is met, which may
result in a space leak.

Given a sequence of characters, attempt to match them against
the characters on the stream. Return the count of how many
characters matched. The matched characters are removed from the
stream.
For example, if the stream contains abd, then (heads abc)
will remove the characters ab and return 2.

Read n elements from a stream and apply the given iteratee to the
stream of the read elements. Unless the stream is terminated early, we
read exactly n elements, even if the iteratee has accepted fewer.

Read n elements from a stream and apply the given iteratee to the
stream of the read elements. If the given iteratee accepted fewer
elements, we stop.
This is the variation of take with the early termination
of processing of the outer stream once the processing of the inner stream
finished early.

Iteratees composed with takeUpTo will consume only enough elements to
reach a done state. Any remaining data will be available in the outer
stream.

Takes an element predicate and returns the (possibly empty)
prefix of the stream. All characters
in the string will satisfy the character predicate. If the stream
is not terminated, the first character of the
remaining stream will not satisfy the predicate.

Map the stream: another iteratee transformer
Given the stream of elements of the type el and the function (el->el'),
build a nested stream of elements of the type el' and apply the
given iteratee to it.

Enumerate over two iteratees in parallel as long as the first iteratee
is still consuming input. The second iteratee will be terminated with EOF
when the first iteratee has completed. An example use is to determine
how many elements an iteratee has consumed: