This is an instance together with its existential variables. This
concept doesn’t exist as a named syntax class in the specification, but
is the payload of the instance case of deftype_e and the output
of the instance declaration inference judgement.
To make certain substitutions easier, free type variables are
divided into Universal and Existential variables. Each is
represented by a pair of indices: the first index is an index into
Ctx::parents(), specifying parent context has the variable
definition in it, and the second is an index into that context’s
Ctx::uvars or Ctx::evars.
We explicitly distinguish between bound type variables, which are
can only only present on types that are themselves inside a
QualifiedInstance or Component, and free type variables
that are used while constructing or deconstructing such a type in
a Ctx.