Module Lang.TypeExpr

module Polymorphic_variant : sig ... end
module Object : sig ... end
module Package : sig ... end
type label =
  1. | Label of string
  2. | RawOptional of string
  3. | Optional of string
type t =
  1. | Var of string * string option
    (*

    name, jkind (e.g. Some "float64")

    *)
  2. | Any
  3. | Alias of t * string
  4. | Arrow of label option * t * t * string list * string list
    (*

    label, arg, ret, arg_modes, ret_modes

    *)
  5. | Tuple of (string option * t) list
  6. | Unboxed_tuple of (string option * t) list
  7. | Constr of Paths.Path.Type.t * t list
  8. | Polymorphic_variant of Polymorphic_variant.t
  9. | Object of Object.t
  10. | Class of Paths.Path.ClassType.t * t list
  11. | Poly of string list * t
  12. | Quote of t
  13. | Splice of t
  14. | Package of Package.t