Module Python_lib.Type

module Arg : sig ... end
type t =
| Atom of Module_env.Path.t * Base.string
| Tuple2 of t * t
| Tuple3 of t * t * t
| Tuple4 of t * t * t * t
| Tuple5 of t * t * t * t * t
| Arrow of Arg.t * t * t
| Apply of t * Base.string
val uncurrify : t -> (Arg.t * t) Base.list * t
val of_type_desc : Types.type_desc -> env:Module_env.t -> t Base.Or_error.t
val to_string : t -> Base.string
val contains_arrow : t -> Base.bool