As soon as this iteratee finishes inputs are given to the new iteratee defined by f eventually producing a B.
Consume an Input to Create a new Iteratee
Map the result using f.
Push an EOF and try to get the result.
An immutable structure that transforms a set of data to a result.
An iteratee is an immutable structure that can consume an input to create a iteratee. An iteratee is only defined by its state which can be either Cont, Error or Done. Cont holds a closure that defines the next Iteratee depending on the next input. Done holds the result and Error holds a Throwable.
There are three different types of Input: Element, Empty and EOF. The meaning of Element and Empty depends on the implementation, but as soon as an EOF is encountered the resulting new Iteratee must be in the Done state.