Reduce use of the ($) operator.
Use strict text and bytestrings for everything.
Use the IsString instance of Name.
Use 'xml-types' instead of HXT for basic XML processing.
Transition most remaining text storage to lazy 'Text'.
When retrieving a stanza tree from a root, only check element children.
Allow IQ payloads to be empty.
In 'treeToStanza', treat the input as a root node.
Define the 'XMPP' monad, so clients don't have to pass a stream around.
Merged public API into a single exposed module, 'Network.Protocol.XMPP'.
Cleaned up the Client module, which opens streams in the jabber:client namespace.
Clean up a few internal modules, provide a smaller external interface to streams.
Use multiple stanza data types, with a common class.