Isolate side-effects from table-backend generated code
Thread environment without mutations
Mutation-free env, stack and engine!
Turn engine into a step-by-step interpreter
Remove lexbuf from Engine.env
Add step-by-step execution interface
Printer: fix printing precedence of datavalparams
IL/Printer: add "private" types
Settings: add --stepwise flag
EngineTypes: split definition of step-by-step ENGINE
Interface/TableBackend: generate stepwise engine
REMOVE ME: local installation settings
Add ".merlin" file
Interface: Generate type for semantic values and non-terminals

Split interface into preInterface (before infer) and interface to add
type for nonterminals.
Add --typed-values flag in Settings to control generation of semantic
values.
Expose new typedefs in backend-generated implementations
TableBackend: generate typed code
IL/Printer: add support for parametrized exceptions
TableBackend: CLEAN ME, fix wrong projections with --typed-values
Introduce typed semantic values in engine

Expose definitions in generated interface and implementation.
Define semantic_value and Accept in TableFormat.
Generate entry points for stepwise engine.
Add --feed-nonterminal flag, and misc functions