Canonical.Create
SourceCreate.create defs exp
constructs a canonical-shape. The defs
give context for sub-expressions of the form: apply n exps
; n
being a reference to the n'th definition in defs
.
Definition are required for record
s and variant
s, but may also occurs for any cyclic expression: in this case being constructed using define
.
Within a definition body, var i
refers to the i'th formal type-var, and corresponds to the i'the argument of an application args
.