module type S = sig .. end
module T: TI.REPR
val is_ty : T.t -> bool
val repr : T.t -> T.t TypeMono.view
repr t returns the view of t as a type.
precondition: is_ty t
raise some exception otherwise
val as_ty : T.t -> T.t TypeMono.view option
as_ty t returns Some view if is_ty t, repr t = view, and
returns None otherwise
val repr_with : subst:(T.t, T.t) Subst.t -> T.t -> T.t TypeMono.view
representation that follows the substitution. Will
fail on a variable, except if it is bound
val mangle : sep:string -> T.t -> string
serialize the whole type into a flat name
module Map: CCMap.S with type key = T.t
A map on terms that only accepts terms
satisfying is_ty as keys