Printer: add proper support for GADT
Interface: generate symbol gadt for typed-values
Expose new typedefs in backend-generated implementations
TableBackend: generate typed code
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.
Tweaking stepwise interface