Can you change this to `sendLazy :: MonadIO m => NS.Socket -> [Datab.ByteString.Lazy.ByteString] -> m ()`? After all, a lazy `ByteString` is pretty much a wrapper around a list of strict `ByteString`s, and chances are having a lazy `ByteString` is more common than having a list of strict `ByteString`s, and if not, one can always use `Data.ByteString.Lazy.toChunks :: Data.ByteString.Lazy.ByteString -> [Data.ByteString.ByteString]` to turn one into the other efficiently.

What do you think?