Create.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
.
val poly_variant : Location.t ‑> (string * Exp.t option) list ‑> Exp.t
val var : int ‑> Exp.t