object
  method branch : 'env -> TypeCore.branch -> unit
  method data_type_group : 'env -> TypeCore.data_type_group -> unit
  method extend : 'env -> Kind.kind -> 'env
  method field : 'env -> TypeCore.data_field_def -> unit
  method normalize : 'env -> typ -> typ
  method resolved_datacon : 'env -> TypeCore.resolved_datacon -> unit
  method tyanchoredpermission : 'env -> TypeCore.typ -> TypeCore.typ -> unit
  method tyand : 'env -> TypeCore.mode_constraint -> TypeCore.typ -> unit
  method tyapp : 'env -> TypeCore.typ -> TypeCore.typ list -> unit
  method tyarrow : 'env -> TypeCore.typ -> TypeCore.typ -> unit
  method tybar : 'env -> TypeCore.typ -> TypeCore.typ -> unit
  method tybound : 'env -> TypeCore.db_index -> unit
  method tyconcrete : 'env -> TypeCore.branch -> unit
  method tydynamic : 'env -> unit
  method tyempty : 'env -> unit
  method tyopen : 'env -> TypeCore.var -> unit
  method tyq :
    'env ->
    TypeCore.quantifier ->
    TypeCore.type_binding -> TypeCore.flavor -> TypeCore.typ -> unit
  method tysingleton : 'env -> TypeCore.typ -> unit
  method tystar : 'env -> TypeCore.typ -> TypeCore.typ -> unit
  method tytuple : 'env -> TypeCore.typ list -> unit
  method tyunknown : 'env -> unit
  method visit : 'env -> typ -> unit
end