General-purpose auxiliary functions and data structures.
Type inference constraint datatype, freshening variables.
Existential types as type/value constructors. Less imperative parsing pipeline.
Fixed sort inference for existential types.
Updated docs after streamlined parsing and sort inference fixes.