This library is a basic monadic wrapper over the connection package. It
provides a monad transformer which gives your monad stack the ability to
maintain a single TCP connection, possibly over TLS and/or SOCKS.
This is very convenient for simple client applications which connect to a
single server, but it is not enough for robust applications which want to
automatically reconnect on errors. In the latter case, a reconnection and
error handling layer can be added on top of the simple transformer provided
here.