module Tuple: Tuple
module T2: sig .. end
module T3: sig .. end
module Make (T1 : sigend) (T2 : sigend) : sig .. end
module type Comparable_sexpable = sig .. end
module Comparable (S1 : Comparable_sexpable) (S2 : Comparable_sexpable) : Comparable_sexpable with type t := Make (S1) (S2).t
module type Hashable_sexpable = sig .. end
module Hashable (S1 : Hashable_sexpable) (S2 : Hashable_sexpable) : Hashable_sexpable with type t := Make (S1) (S2).t
The difference between Hashable and Hashable_t functors is that the former's
result type doesn't contain type t and the latter does.
module Hashable_t (S1 : Hashable_sexpable) (S2 : Hashable_sexpable) : Hashable_sexpable with type t = Make (S1) (S2).t
module Sexpable (S1 : Sexpable.S) (S2 : Sexpable.S) : Sexpable.S with type t := Make (S1) (S2).t