The purpose of tag-stream is to process html in a streamlined fasion, it can tolerate some bad htmls, but it don't handle bad html structure.
Tag-stream parse HTML/XML into a token stream. It also provides an Conduit named tokenStream which runs in constant memory.
You can start from tests/Tests.hs to see what it can do.