Ast.TypeExpr
type t =
| Type_arrow of t * t
Represents a function type: T1 -> T2.
T1 -> T2
| Type_var of ident
Represents a type variable: 'a.
'a
| Type_tuple of t List2.t
Represents a tuple type: (T1, T2, ..., Tn).
(T1, T2, ..., Tn)
| Type_construct of ident * t list
Represents a type constructor with arguments: C T1 ... Tn.
C T1 ... Tn
val equal : t -> t -> bool
val pp : Stdlib.Format.formatter -> t -> unit
val show : t -> ident
val gen_sized : int -> t QCheck.Gen.t
val gen : t QCheck.Gen.t
val arb_sized : int -> t QCheck.arbitrary
val arb : t QCheck.arbitrary