Functors and signatures for dealing with modules for tuples.
These functors allow users to write:
module Foo = struct
include Tuple.Make (String) (Int)
include Tuple.Comparable (String) (Int)
include Tuple.Hashable (String) (Int)
include Tuple.Binable (String) (Int)
end
Hashable
and Hashable_t
functors is that the former's
result type doesn't contain type t
and the latter does.