zipWith package:explicit-exception
This is an example for application specific handling of result values.
Assume you obtain two lazy lists say from readFile and you
want to zip their contents. If one of the stream readers emits an
exception, we quit with that exception. If both streams have throw an
exception at the same file position, the exception of the first stream
is propagated.