Module Datatype_sig

module type S = sig ... end
module Undefined (Name : sig ... end) : sig ... end
module Conv (B1 : S) (C : sig ... end) : S with type t = C.t
module Prod2 (B1 : S) (B2 : S) : S with type t = B1.t * B2.t
module Prod3 (B1 : S) (B2 : S) (B3 : S) : S with type t = B1.t * B2.t * B3.t
type ('a, 'b) sum2 =
  1. | Sum2A of 'a
  2. | Sum2B of 'b
module Sum2 (BA : S) (BB : S) : S with type t = (BA.t, BB.t) sum2
type ('a, 'b, 'c) sum3 =
  1. | Sum3A of 'a
  2. | Sum3B of 'b
  3. | Sum3C of 'c
module Sum3 (BA : S) (BB : S) (BC : S) : S with type t = (BA.t, BB.t, BC.t) sum3
module Int : sig ... end
module Unit : sig ... end
module String : sig ... end
module Option (B : S) : sig ... end
module List (B : S) : sig ... end
module Set (B : S) : sig ... end
module Map (B : S) : sig ... end
module Hashtbl (B : S) : sig ... end
module StringMap : sig ... end
module StringHash : sig ... end