sig
type t
type toplevel_ty = FO.Ty.t list * FO.Ty.t
val view : FO.Ty.t -> FO.Ty.t FO.ty_view
val const : FO.id -> FO.Ty.t
val app : FO.id -> FO.Ty.t list -> FO.Ty.t
val builtin : FO.TyBuiltin.t -> FO.Ty.t
val arrow : FO.Ty.t list -> FO.Ty.t -> FO.Ty.toplevel_ty
val is_prop : FO.Ty.t -> bool
val equal : FO.Ty.t -> FO.Ty.t -> bool
val compare : FO.Ty.t -> FO.Ty.t -> int
val hash : FO.Ty.t -> int
val to_seq : FO.Ty.t -> FO.Ty.t Sequence.t
end