module Tuple: Tuple
module T2: sig
.. end
module T3: sig
.. end
module Make (
T1
:
sig
end
)
(
T2
:
sig
end
)
: 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