class virtual [['env, 'result]]
visitor :
object
.. end
method normalize : 'env -> typ -> typ
This method, whose default implementation is the identity,
allows normalizing a type before inspecting its structure.
This can be used, for instance, to replace flexible variables
with the type that they stand for.
method extend : 'env -> Kind.kind -> 'env
This method, whose default implementation is the identity,
can be used to extend the environment when a binding is
entered.
method visit : 'env -> typ -> 'result
The main visitor method inspects the structure of ty
and
dispatches control to the appropriate case method.
method virtual tyunknown : 'env -> 'result
The case methods have no default implementation.
method virtual tydynamic : 'env -> 'result
method virtual tybound : 'env -> db_index -> 'result
method virtual tyopen : 'env -> var -> 'result
method virtual tyq : 'env ->
quantifier ->
type_binding -> flavor -> typ -> 'result
method virtual tyapp : 'env -> typ -> typ list -> 'result
method virtual tytuple : 'env -> typ list -> 'result
method virtual tyconcrete : 'env -> branch -> 'result
method virtual tysingleton : 'env -> typ -> 'result
method virtual tyarrow : 'env -> typ -> typ -> 'result
method virtual tybar : 'env -> typ -> typ -> 'result
method virtual tyanchoredpermission : 'env -> typ -> typ -> 'result
method virtual tyempty : 'env -> 'result
method virtual tystar : 'env -> typ -> typ -> 'result
method virtual tyand : 'env -> mode_constraint -> typ -> 'result