Like
readProcessWithExitCode, but with generalized input and
output type. Aside from the usual text-like types, the output can be a
list of Chunk a. This lets you process the chunks received from stdout
and stderr lazil, in the order they are received, as well as the exit
code. Utilities to handle Chunks are provided in
System.Process.ListLike.