module Empty : sig ... end
module type Empty = sig ... end
module EmptyAlias = Empty
exception Kablam of unit * unit
exception Kapow of unit * unit
type (!'a, !'b) a_function = 'a -> 'b
val a_function : x:int -> int
val fun_maybe : ?yes:unit -> unit -> int
val not_found : unit -> unit
val kaboom : unit -> unit
val since_mesozoic : unit
module type MMM = sig ... end
module type A = sig ... end
module type B = sig ... end
module type C = sig ... end
type 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 -> exn
type 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 -> unit
type !'b my_unit_class = 'b constraint 'b = unit param_class
module Dep1 : sig ... end
module Dep2 (Arg : sig ... end) : sig ... end
module Dep3 : sig ... end
module Dep4 : sig ... end
module Dep5 (Arg : sig ... end) : sig ... end
module Dep6 : sig ... end
module Dep7 (Arg : sig ... end) : sig ... end
module Dep8 : sig ... end
module Dep9 (X : sig ... end) : sig ... end
module type Dep10 = sig ... end
module Dep11 : sig ... end
module Dep12 (Arg : sig ... end) : sig ... end
module type With1 = sig ... end
module With2 : sig ... end
module With3 : sig ... end
module With4 : sig ... end
module With5 : sig ... end
module With6 : sig ... end
module With7 (X : sig ... end) : sig ... end
module type With8 = sig ... end
module With9 : sig ... end
module type With11 = sig ... end
type nested_include = int
module type M = sig ... end