We could do with an as-small-as-possible DSL for constructing the AST safely, since the object representation isn't.
Ideally you have utility functions which are used for manipulating opaque classes, a parser from the object form to the DSL form, an encoder back to object from, and a pretty-printer.
We could do with an as-small-as-possible DSL for constructing the AST safely, since the object representation isn't.
Ideally you have utility functions which are used for manipulating opaque classes, a parser from the object form to the DSL form, an encoder back to object from, and a pretty-printer.