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