All lines are printed, including a line with a terminating EOF.
If the final line is terminated by EOF without a newline,
no newline is printed.
this function should be used in preference to printLines when possible,
as it is more efficient with long lines.

Convert the stream of characters to the stream of lines, and
apply the given iteratee to enumerate the latter.
The stream of lines is normally terminated by the empty line.
When the stream of characters is terminated, the stream of lines
is also terminated.
This is the first proper iteratee-enumerator: it is the iteratee of the
character stream and the enumerator of the line stream.