Introduce the concept of "type representations". These are a concrete part of the (core) module signature, rather than provided by an optimisation.
Lower is now guided by these type representations. We will emit method calls instead of constructor invocations for type wrappers, and the pattern compiler will also generate the appropriate code.
Introduce the concept of "type representations". These are a concrete part of the (core) module signature, rather than provided by an optimisation.
Lower is now guided by these type representations. We will emit method calls instead of constructor invocations for type wrappers, and the pattern compiler will also generate the appropriate code.
Closes #196