module type Key_common : sig ... endmodule type Key_plain : sig ... endmodule Hashable : sig ... endmodule type Hashable : sig ... endmodule type Accessors : sig ... endtype ('key, 'data, 'z) create_options_with_hashable = ?growth_allowed:bool ‑> ?size:int ‑> hashable:'key Hashable.t ‑> 'zmodule type Creators : sig ... endmodule type S_without_submodules : sig ... endmodule type S_using_hashable : sig ... endmodule type S_poly : sig ... endmodule type Hashtbl : sig ... end