Universal/heterogeneous maps, useful for storing values of arbitrary type in a single map.
In order to recover a value, it must be looked up with exactly the Key.t it was
stored in. In other words, given different Key.ts from the same string, one will
not be able to recover the key stored in the other one.
This is similar to Univ in spirit.
include module type of Core_kernel__.Univ_map_intfmodule Key = Type_equal.Idmodule type S : sig ... endmodule type S1 : sig ... endinclude S with type 'a S.data = 'aval sexp_of_t : t ‑> Sexplib.Sexp.tval invariant : t Base__.Invariant_intf.invval empty : tval is_empty : t ‑> Core_kernel__.Import.boolval mem : t ‑> 'a Key.t ‑> Core_kernel__.Import.boolval mem_by_id : t ‑> Key.Uid.t ‑> Core_kernel__.Import.boolval find : t ‑> 'a Key.t ‑> 'a data Core_kernel__.Import.optionval change : t ‑> 'a Key.t ‑> f:('a data Core_kernel__.Import.option ‑> 'a data Core_kernel__.Import.option) ‑> tmodule Packed : sig ... endval to_alist : t ‑> Packed.t Core_kernel__.Import.listmodule With_default : sig ... endkeys with associated default values, so that find is no longer partial
module With_fold : sig ... endkeys that map to an accumulator value with an associated fold operation