Mlsem_types.Arrow
val mk : Ty.t -> Ty.t -> Ty.t
val any : Ty.t
val domain : Ty.t -> Ty.t
val apply : Ty.t -> Ty.t -> Ty.t
val dnf : Ty.t -> (Ty.t * Ty.t) list list
val of_dnf : (Ty.t * Ty.t) list list -> Ty.t