- [ ] Error messages also based upon: [A Parsing Machine for Parsing Expression Grammars with Labeled Failures](https://dl.acm.org/doi/10.1145/2851613.2851750) - [ ] Golden tests using more complex grammars. - [ ] Concerning the unusual `pure :: H.Term pure a -> repr a`, it may be acceptable to use `H.Term` only internally. - [ ] Move the `Symantic.Univariant.*` modules into a separate package, maybe `symantic-base`. - [ ] Golden tests for TH splices as in `singleton`. Note that the custom `Setup.hs` to get `ghcFlags` requires `cabal-install-3.4` which does not compile in Nixpkgs yet. - [ ] Support parsing tree inputs (eg. RelaxNG in `symantic-xml` or HTTP routing in `symantic-http-server`). - [ ] Consider introducing registers like in ParsleyHaskell. The custom `Setup.hs` requires `cabal-install-3.4` which does not compile in Nixpkgs yet. - [ ] Study if the generated parser can easily and without much costs be made reentrant like `attoparsec`. In which case it could maybe replace `attoparsec` in `pipes`.