sig type t = Nat | Arrow of T.Type.t * T.Type.t | Tvar of int val print : Pervasives.out_channel -> T.Type.t -> unit val to_string : T.Type.t -> string end