In case you need clarity, I call the components of my browser engine:
* "HURL" (Haskell URL) - URL engine
-> network-uri [3rd party] - parser
* "Haskell Stylist"/"xml-conduit Stylist" - CSS engine
-> css-syntax [3rd party] - lexer
* xml-conduit/html-conduit [3rd party] - XML/HTML parser (wisely not HTML5 compliant)
* http-client/http-client-tls [3rd party] - HTTP(S) engine (lacks caching)
* base64-bytes [3rd party] - data: URLs.
* text/bytestring [3rd party] - Unicode engine.