include Core.Sexpable.S2 with type (a, b) t := (a, b) tval t_of_sexp : (Base.Sexp.t ‑> 'a) ‑> (Base.Sexp.t ‑> 'b) ‑> Base.Sexp.t ‑> ('a, 'b) tval sexp_of_t : ('a ‑> Base.Sexp.t) ‑> ('b ‑> Base.Sexp.t) ‑> ('a, 'b) t ‑> Base.Sexp.tval empty : ('k, 'v) tval singleton : 'k ‑> 'v ‑> ('k, 'v) tval is_empty : ('k, 'v) t ‑> boolval find : ('k, 'v) t ‑> 'k ‑> 'v listfind m key returns all the elements that where added to key in m in
the reverse order in which they where added. If no element where added an
empty list is returned.
val mem : ('k, 'v) t ‑> 'k ‑> boolmem m key returns true if key has at last one value associated to it
in m
val iter : f:('v ‑> unit) ‑> (_, 'v) t ‑> unitval iteri : f:(key:'k ‑> data:'v ‑> unit) ‑> ('k, 'v) t ‑> unitval iter_keys : f:('k ‑> unit) ‑> ('k, _) t ‑> unitval fold : f:(key:'k ‑> data:'v ‑> 'a ‑> 'a) ‑> ('k, 'v) t ‑> init:'a ‑> 'aval reduce : f:('v list ‑> 'r) ‑> ('k, 'v) t ‑> ('k, 'r) Core.Map.Poly.t