Quick StartTryGuideAPICommunityBlogGitHub

Standard Library

Below is the API for the OCaml standard library. It's directly copied over from the OCaml Manual, formatted to the Reason syntax and styled accordingly. The API docs are work-in-progress; we'll be polishing these gradually!

If you're targeting JavaScript, the API docs for BuckleScript includes all of below, plus JS-specific APIs.

sig

  type lid = Longident.t Asttypes.loc
  type str = string Asttypes.loc
  type loc = Location.t
  type attrs = Parsetree.attribute list
  val default_loc : Ast_helper.loc Pervasives.ref
  val with_default_loc : Ast_helper.loc -> (unit -> 'a) -> 'a
  module Typ :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.core_type_desc -> Parsetree.core_type
      val attr :
        Parsetree.core_type -> Parsetree.attribute -> Parsetree.core_type
      val any :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> unit -> Parsetree.core_type
      val var :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> string -> Parsetree.core_type
      val arrow :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Asttypes.label ->
        Parsetree.core_type -> Parsetree.core_type -> Parsetree.core_type
      val tuple :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.core_type list -> Parsetree.core_type
      val constr :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.lid -> Parsetree.core_type list -> Parsetree.core_type
      val object_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        (string * Parsetree.attributes * Parsetree.core_type) list ->
        Asttypes.closed_flag -> Parsetree.core_type
      val class_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.lid -> Parsetree.core_type list -> Parsetree.core_type
      val alias :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.core_type -> string -> Parsetree.core_type
      val variant :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.row_field list ->
        Asttypes.closed_flag ->
        Asttypes.label list option -> Parsetree.core_type
      val poly :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        string list -> Parsetree.core_type -> Parsetree.core_type
      val package :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.lid ->
        (Ast_helper.lid * Parsetree.core_type) list -> Parsetree.core_type
      val extension :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Parsetree.extension -> Parsetree.core_type
      val force_poly : Parsetree.core_type -> Parsetree.core_type
    end
  module Pat :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.pattern_desc -> Parsetree.pattern
      val attr :
        Parsetree.pattern -> Parsetree.attribute -> Parsetree.pattern
      val any :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> unit -> Parsetree.pattern
      val var :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Ast_helper.str -> Parsetree.pattern
      val alias :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.pattern -> Ast_helper.str -> Parsetree.pattern
      val constant :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Asttypes.constant -> Parsetree.pattern
      val interval :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Asttypes.constant -> Asttypes.constant -> Parsetree.pattern
      val tuple :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.pattern list -> Parsetree.pattern
      val construct :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.lid -> Parsetree.pattern option -> Parsetree.pattern
      val variant :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Asttypes.label -> Parsetree.pattern option -> Parsetree.pattern
      val record :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        (Ast_helper.lid * Parsetree.pattern) list ->
        Asttypes.closed_flag -> Parsetree.pattern
      val array :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.pattern list -> Parsetree.pattern
      val or_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.pattern -> Parsetree.pattern -> Parsetree.pattern
      val constraint_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.pattern -> Parsetree.core_type -> Parsetree.pattern
      val type_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Ast_helper.lid -> Parsetree.pattern
      val lazy_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Parsetree.pattern -> Parsetree.pattern
      val unpack :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Ast_helper.str -> Parsetree.pattern
      val exception_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Parsetree.pattern -> Parsetree.pattern
      val extension :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Parsetree.extension -> Parsetree.pattern
    end
  module Exp :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression_desc -> Parsetree.expression
      val attr :
        Parsetree.expression -> Parsetree.attribute -> Parsetree.expression
      val ident :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Ast_helper.lid -> Parsetree.expression
      val constant :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Asttypes.constant -> Parsetree.expression
      val let_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Asttypes.rec_flag ->
        Parsetree.value_binding list ->
        Parsetree.expression -> Parsetree.expression
      val fun_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Asttypes.label ->
        Parsetree.expression option ->
        Parsetree.pattern -> Parsetree.expression -> Parsetree.expression
      val function_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.case list -> Parsetree.expression
      val apply :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression ->
        (Asttypes.label * Parsetree.expression) list -> Parsetree.expression
      val match_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression -> Parsetree.case list -> Parsetree.expression
      val try_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression -> Parsetree.case list -> Parsetree.expression
      val tuple :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression list -> Parsetree.expression
      val construct :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.lid -> Parsetree.expression option -> Parsetree.expression
      val variant :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Asttypes.label -> Parsetree.expression option -> Parsetree.expression
      val record :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        (Ast_helper.lid * Parsetree.expression) list ->
        Parsetree.expression option -> Parsetree.expression
      val field :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression -> Ast_helper.lid -> Parsetree.expression
      val setfield :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression ->
        Ast_helper.lid -> Parsetree.expression -> Parsetree.expression
      val array :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression list -> Parsetree.expression
      val ifthenelse :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression ->
        Parsetree.expression ->
        Parsetree.expression option -> Parsetree.expression
      val sequence :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression -> Parsetree.expression -> Parsetree.expression
      val while_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression -> Parsetree.expression -> Parsetree.expression
      val for_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.pattern ->
        Parsetree.expression ->
        Parsetree.expression ->
        Asttypes.direction_flag ->
        Parsetree.expression -> Parsetree.expression
      val coerce :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression ->
        Parsetree.core_type option ->
        Parsetree.core_type -> Parsetree.expression
      val constraint_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression -> Parsetree.core_type -> Parsetree.expression
      val send :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression -> string -> Parsetree.expression
      val new_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Ast_helper.lid -> Parsetree.expression
      val setinstvar :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.str -> Parsetree.expression -> Parsetree.expression
      val override :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        (Ast_helper.str * Parsetree.expression) list -> Parsetree.expression
      val letmodule :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.str ->
        Parsetree.module_expr -> Parsetree.expression -> Parsetree.expression
      val assert_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression -> Parsetree.expression
      val lazy_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression -> Parsetree.expression
      val poly :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression ->
        Parsetree.core_type option -> Parsetree.expression
      val object_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.class_structure -> Parsetree.expression
      val newtype :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        string -> Parsetree.expression -> Parsetree.expression
      val pack :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.module_expr -> Parsetree.expression
      val open_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Asttypes.override_flag ->
        Ast_helper.lid -> Parsetree.expression -> Parsetree.expression
      val extension :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.extension -> Parsetree.expression
      val case :
        Parsetree.pattern ->
        ?guard:Parsetree.expression -> Parsetree.expression -> Parsetree.case
    end
  module Val :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?prim:string list ->
        Ast_helper.str -> Parsetree.core_type -> Parsetree.value_description
    end
  module Type :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?text:Docstrings.text ->
        ?params:(Parsetree.core_type * Asttypes.variance) list ->
        ?cstrs:(Parsetree.core_type * Parsetree.core_type * Ast_helper.loc)
               list ->
        ?kind:Parsetree.type_kind ->
        ?priv:Asttypes.private_flag ->
        ?manifest:Parsetree.core_type ->
        Ast_helper.str -> Parsetree.type_declaration
      val constructor :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?info:Docstrings.info ->
        ?args:Parsetree.core_type list ->
        ?res:Parsetree.core_type ->
        Ast_helper.str -> Parsetree.constructor_declaration
      val field :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?info:Docstrings.info ->
        ?mut:Asttypes.mutable_flag ->
        Ast_helper.str -> Parsetree.core_type -> Parsetree.label_declaration
    end
  module Te :
    sig
      val mk :
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?params:(Parsetree.core_type * Asttypes.variance) list ->
        ?priv:Asttypes.private_flag ->
        Ast_helper.lid ->
        Parsetree.extension_constructor list -> Parsetree.type_extension
      val constructor :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?info:Docstrings.info ->
        Ast_helper.str ->
        Parsetree.extension_constructor_kind ->
        Parsetree.extension_constructor
      val decl :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?info:Docstrings.info ->
        ?args:Parsetree.core_type list ->
        ?res:Parsetree.core_type ->
        Ast_helper.str -> Parsetree.extension_constructor
      val rebind :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?info:Docstrings.info ->
        Ast_helper.str -> Ast_helper.lid -> Parsetree.extension_constructor
    end
  module Mty :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.module_type_desc -> Parsetree.module_type
      val attr :
        Parsetree.module_type -> Parsetree.attribute -> Parsetree.module_type
      val ident :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Ast_helper.lid -> Parsetree.module_type
      val alias :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Ast_helper.lid -> Parsetree.module_type
      val signature :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.signature -> Parsetree.module_type
      val functor_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.str ->
        Parsetree.module_type option ->
        Parsetree.module_type -> Parsetree.module_type
      val with_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.module_type ->
        Parsetree.with_constraint list -> Parsetree.module_type
      val typeof_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.module_expr -> Parsetree.module_type
      val extension :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.extension -> Parsetree.module_type
    end
  module Mod :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.module_expr_desc -> Parsetree.module_expr
      val attr :
        Parsetree.module_expr -> Parsetree.attribute -> Parsetree.module_expr
      val ident :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs -> Ast_helper.lid -> Parsetree.module_expr
      val structure :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.structure -> Parsetree.module_expr
      val functor_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.str ->
        Parsetree.module_type option ->
        Parsetree.module_expr -> Parsetree.module_expr
      val apply :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.module_expr ->
        Parsetree.module_expr -> Parsetree.module_expr
      val constraint_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.module_expr ->
        Parsetree.module_type -> Parsetree.module_expr
      val unpack :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression -> Parsetree.module_expr
      val extension :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.extension -> Parsetree.module_expr
    end
  module Sig :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        Parsetree.signature_item_desc -> Parsetree.signature_item
      val value :
        ?loc:Ast_helper.loc ->
        Parsetree.value_description -> Parsetree.signature_item
      val type_ :
        ?loc:Ast_helper.loc ->
        Parsetree.type_declaration list -> Parsetree.signature_item
      val type_extension :
        ?loc:Ast_helper.loc ->
        Parsetree.type_extension -> Parsetree.signature_item
      val exception_ :
        ?loc:Ast_helper.loc ->
        Parsetree.extension_constructor -> Parsetree.signature_item
      val module_ :
        ?loc:Ast_helper.loc ->
        Parsetree.module_declaration -> Parsetree.signature_item
      val rec_module :
        ?loc:Ast_helper.loc ->
        Parsetree.module_declaration list -> Parsetree.signature_item
      val modtype :
        ?loc:Ast_helper.loc ->
        Parsetree.module_type_declaration -> Parsetree.signature_item
      val open_ :
        ?loc:Ast_helper.loc ->
        Parsetree.open_description -> Parsetree.signature_item
      val include_ :
        ?loc:Ast_helper.loc ->
        Parsetree.include_description -> Parsetree.signature_item
      val class_ :
        ?loc:Ast_helper.loc ->
        Parsetree.class_description list -> Parsetree.signature_item
      val class_type :
        ?loc:Ast_helper.loc ->
        Parsetree.class_type_declaration list -> Parsetree.signature_item
      val extension :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.extension -> Parsetree.signature_item
      val attribute :
        ?loc:Ast_helper.loc ->
        Parsetree.attribute -> Parsetree.signature_item
      val text : Docstrings.text -> Parsetree.signature_item list
    end
  module Str :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        Parsetree.structure_item_desc -> Parsetree.structure_item
      val eval :
        ?loc:Ast_helper.loc ->
        ?attrs:Parsetree.attributes ->
        Parsetree.expression -> Parsetree.structure_item
      val value :
        ?loc:Ast_helper.loc ->
        Asttypes.rec_flag ->
        Parsetree.value_binding list -> Parsetree.structure_item
      val primitive :
        ?loc:Ast_helper.loc ->
        Parsetree.value_description -> Parsetree.structure_item
      val type_ :
        ?loc:Ast_helper.loc ->
        Parsetree.type_declaration list -> Parsetree.structure_item
      val type_extension :
        ?loc:Ast_helper.loc ->
        Parsetree.type_extension -> Parsetree.structure_item
      val exception_ :
        ?loc:Ast_helper.loc ->
        Parsetree.extension_constructor -> Parsetree.structure_item
      val module_ :
        ?loc:Ast_helper.loc ->
        Parsetree.module_binding -> Parsetree.structure_item
      val rec_module :
        ?loc:Ast_helper.loc ->
        Parsetree.module_binding list -> Parsetree.structure_item
      val modtype :
        ?loc:Ast_helper.loc ->
        Parsetree.module_type_declaration -> Parsetree.structure_item
      val open_ :
        ?loc:Ast_helper.loc ->
        Parsetree.open_description -> Parsetree.structure_item
      val class_ :
        ?loc:Ast_helper.loc ->
        Parsetree.class_declaration list -> Parsetree.structure_item
      val class_type :
        ?loc:Ast_helper.loc ->
        Parsetree.class_type_declaration list -> Parsetree.structure_item
      val include_ :
        ?loc:Ast_helper.loc ->
        Parsetree.include_declaration -> Parsetree.structure_item
      val extension :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.extension -> Parsetree.structure_item
      val attribute :
        ?loc:Ast_helper.loc ->
        Parsetree.attribute -> Parsetree.structure_item
      val text : Docstrings.text -> Parsetree.structure_item list
    end
  module Md :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?text:Docstrings.text ->
        Ast_helper.str ->
        Parsetree.module_type -> Parsetree.module_declaration
    end
  module Mtd :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?text:Docstrings.text ->
        ?typ:Parsetree.module_type ->
        Ast_helper.str -> Parsetree.module_type_declaration
    end
  module Mb :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?text:Docstrings.text ->
        Ast_helper.str -> Parsetree.module_expr -> Parsetree.module_binding
    end
  module Opn :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?override:Asttypes.override_flag ->
        Ast_helper.lid -> Parsetree.open_description
    end
  module Incl :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs -> 'a -> 'a Parsetree.include_infos
    end
  module Vb :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?text:Docstrings.text ->
        Parsetree.pattern -> Parsetree.expression -> Parsetree.value_binding
    end
  module Cty :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.class_type_desc -> Parsetree.class_type
      val attr :
        Parsetree.class_type -> Parsetree.attribute -> Parsetree.class_type
      val constr :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.lid -> Parsetree.core_type list -> Parsetree.class_type
      val signature :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.class_signature -> Parsetree.class_type
      val arrow :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Asttypes.label ->
        Parsetree.core_type -> Parsetree.class_type -> Parsetree.class_type
      val extension :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.extension -> Parsetree.class_type
    end
  module Ctf :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        Parsetree.class_type_field_desc -> Parsetree.class_type_field
      val attr :
        Parsetree.class_type_field ->
        Parsetree.attribute -> Parsetree.class_type_field
      val inherit_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.class_type -> Parsetree.class_type_field
      val val_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        string ->
        Asttypes.mutable_flag ->
        Asttypes.virtual_flag ->
        Parsetree.core_type -> Parsetree.class_type_field
      val method_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        string ->
        Asttypes.private_flag ->
        Asttypes.virtual_flag ->
        Parsetree.core_type -> Parsetree.class_type_field
      val constraint_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.core_type ->
        Parsetree.core_type -> Parsetree.class_type_field
      val extension :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.extension -> Parsetree.class_type_field
      val attribute :
        ?loc:Ast_helper.loc ->
        Parsetree.attribute -> Parsetree.class_type_field
      val text : Docstrings.text -> Parsetree.class_type_field list
    end
  module Cl :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.class_expr_desc -> Parsetree.class_expr
      val attr :
        Parsetree.class_expr -> Parsetree.attribute -> Parsetree.class_expr
      val constr :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.lid -> Parsetree.core_type list -> Parsetree.class_expr
      val structure :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.class_structure -> Parsetree.class_expr
      val fun_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Asttypes.label ->
        Parsetree.expression option ->
        Parsetree.pattern -> Parsetree.class_expr -> Parsetree.class_expr
      val apply :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.class_expr ->
        (Asttypes.label * Parsetree.expression) list -> Parsetree.class_expr
      val let_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Asttypes.rec_flag ->
        Parsetree.value_binding list ->
        Parsetree.class_expr -> Parsetree.class_expr
      val constraint_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.class_expr -> Parsetree.class_type -> Parsetree.class_expr
      val extension :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.extension -> Parsetree.class_expr
    end
  module Cf :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        Parsetree.class_field_desc -> Parsetree.class_field
      val attr :
        Parsetree.class_field -> Parsetree.attribute -> Parsetree.class_field
      val inherit_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Asttypes.override_flag ->
        Parsetree.class_expr -> string option -> Parsetree.class_field
      val val_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.str ->
        Asttypes.mutable_flag ->
        Parsetree.class_field_kind -> Parsetree.class_field
      val method_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Ast_helper.str ->
        Asttypes.private_flag ->
        Parsetree.class_field_kind -> Parsetree.class_field
      val constraint_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.core_type -> Parsetree.core_type -> Parsetree.class_field
      val initializer_ :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.expression -> Parsetree.class_field
      val extension :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        Parsetree.extension -> Parsetree.class_field
      val attribute :
        ?loc:Ast_helper.loc -> Parsetree.attribute -> Parsetree.class_field
      val text : Docstrings.text -> Parsetree.class_field list
      val virtual_ : Parsetree.core_type -> Parsetree.class_field_kind
      val concrete :
        Asttypes.override_flag ->
        Parsetree.expression -> Parsetree.class_field_kind
    end
  module Ci :
    sig
      val mk :
        ?loc:Ast_helper.loc ->
        ?attrs:Ast_helper.attrs ->
        ?docs:Docstrings.docs ->
        ?text:Docstrings.text ->
        ?virt:Asttypes.virtual_flag ->
        ?params:(Parsetree.core_type * Asttypes.variance) list ->
        Ast_helper.str -> 'a -> 'a Parsetree.class_infos
    end
  module Csig :
    sig
      val mk :
        Parsetree.core_type ->
        Parsetree.class_type_field list -> Parsetree.class_signature
    end
  module Cstr :
    sig
      val mk :
        Parsetree.pattern ->
        Parsetree.class_field list -> Parsetree.class_structure
    end
end