Documentation

The Connection newtype is a wrapper that allows us to make
connections an instance of the Stream class, without GHC extensions.
While this looks sort of like a generic reference to the transport
layer it is actually TCP specific, which can be seen in the
implementation of the 'Stream Connection' instance.

HStream overloads the use of HandleStreams, letting you
overload the handle operations over the type that is communicated
across the handle. It comes in handy for Network.HTTPRequest
and Responses as the payload representation isn't fixed, but overloaded.

The library comes with instances for ByteStrings and String, but
should you want to plug in your own payload representation, defining
your own HStream instance _should_ be all that it takes.