module Empty : sig ... endmodule type Empty = sig ... endmodule EmptyAlias = Emptyexception Kablam of unit * unitexception Kapow of unit * unittype (!'a, !'b) a_function = 'a -> 'bval a_function : x:int -> intval fun_maybe : ?yes:unit -> unit -> intval not_found : unit -> unitval kaboom : unit -> unitval since_mesozoic : unitmodule type MMM = sig ... endmodule type A = sig ... endmodule type B = sig ... endmodule type C = sig ... endtype record = {field1 : int;field2 : int;
}type mutable_record = {mutable a : int;b : unit;mutable c : int;
}type universe_record = {nihilate : 'a. 'a -> unit;
}type variant = | TagA| ConstrB of int| ConstrC of int * int| ConstrD of int * int
type poly_variant = [ | `ConstrB of int| `TagA
]type variant_alias = variant = | TagA| ConstrB of int| ConstrC of int * int| ConstrD of int * int
type record_alias = record = {field1 : int;field2 : int;
}type poly_variant_union = [ | `ConstrB of int| `TagA| `TagC
]type !'a poly_poly_variant = [ | `TagA of 'a
]type (!'a, !'b) bin_poly_poly_variant = [ | `ConstrB of 'b| `TagA of 'a
]type !'b open_poly_variant = 'b constraint 'b = [> `TagA ]type !'b open_poly_variant2 = 'b constraint 'b = [> `ConstrB of int ]type !'b poly_fun = 'b -> 'b constraint 'b = [> `ConstrB of int ]type !'a poly_fun_constraint = 'a -> 'a constraint 'a = [> `TagA ]type !'b closed_poly_variant = 'b constraint 'b = [< `One | `Two ]type !'b clopen_poly_variant = 'b constraint 'b = [< `One | `Three | `Two of int Three Two ]type nested_poly_variant = [ | `A| `B of [ `B1 | `B2 ]| `C| `D of [ `D1 of [ `D1a ] ]
]exception Exn_arrow : unit -> exntype rec_obj = < f : int ; g : unit -> unit ; h : rec_obj >type !'b open_obj = 'b constraint 'b = < f : int ; g : unit -> unit.. >type !'b oof = 'b -> 'b constraint 'b = < a : unit.. >type !'b any_obj = 'b constraint 'b = < .. >type one_meth = < meth : unit >type ext += | ExtC of unit| ExtD of ext
type ext += private | ExtF
type poly_ext += | Foo of 'b| Bar of 'b * 'b
val launch_missiles : unit -> unittype !'b my_unit_class = 'b constraint 'b = unit param_classmodule Dep1 : sig ... endmodule Dep2 (Arg : sig ... end) : sig ... endmodule Dep3 : sig ... endmodule Dep4 : sig ... endmodule Dep5 (Arg : sig ... end) : sig ... endmodule Dep6 : sig ... endmodule Dep7 (Arg : sig ... end) : sig ... endmodule Dep8 : sig ... endmodule Dep9 (X : sig ... end) : sig ... endmodule type Dep10 = sig ... endmodule Dep11 : sig ... endmodule Dep12 (Arg : sig ... end) : sig ... endmodule type With1 = sig ... endmodule With2 : sig ... endmodule With3 : sig ... endmodule With4 : sig ... endmodule With5 : sig ... endmodule With6 : sig ... endmodule With7 (X : sig ... end) : sig ... endmodule type With8 = sig ... endmodule With9 : sig ... endmodule type With11 = sig ... endtype nested_include = intmodule type M = sig ... end