Module Container

module Container: Container

module type T = sig .. end
val fold_count : ('a -> init:int -> f:(int -> 'b -> int) -> 'c) -> 'a -> f:('b -> bool) -> 'c
module Make (T : T) : sig .. end
module type S0 = sig .. end
module type S0_phantom = sig .. end
module type S1 = sig .. end
module type S1_phantom = sig .. end
module type Generic = sig .. end
module type Generic_phantom = sig .. end
module Check (T : T.T1)  (Elt : T.T1)  (M : Generic  with type 'a t := 'a T.t  with type 'a elt := 'a Elt.t) : sig .. end
module Check_S0 (M : S0) : Check(sig
type 'a t = M.t 
end)(sig
type 'a t = M.elt 
end)(M)
module Check_S0_phantom (M : S0_phantom) : Check(sig
type 'a t = 'a M.t 
end)(sig
type 'a t = M.elt 
end)(M)
module Check_S1 (M : S1) : Check(sig
type 'a t = 'a M.t 
end)(sig
type 'a t = 'a 
end)(M)
type phantom 
module Check_S1_phantom (M : S1_phantom) : Check(sig
type 'a t = ('a, Container.phantom) M.t 
end)(sig
type 'a t = 'a 
end)(M)