Same as sourceHandle, but instead of allocating a new buffer for each
incoming chunk of data, reuses the same buffer. Therefore, the ByteStrings
yielded by this function are not referentially transparent between two
different yields.

This function will be slightly more efficient than sourceHandle by
avoiding allocations and reducing garbage collections, but should only be
used if you can guarantee that you do not reuse a ByteString (or any slice
thereof) between two calls to await.

Stream the contents of the input to a Handle, and also send it along the
pipeline. Similar in concept to the Unix command tee. Like sourceHandle,
does not close the handle on completion. Related to: conduitFile.