This is a polymorphic map, similar to standard library
but in a defunctorized style.
creates a new empty map, using the provided function for key comparison.
find x m returns the current binding of
Not_found if no such binding exists.
mem x m returns
m contains a binding for
iter f m applies
f to all bindings in map
f receives the key as first argument, and the associated value
as second argument. The order in which the bindings are passed to
f is unspecified. Only current bindings are presented to
bindings hidden by more recent bindings are not passed to
fold f m a computes
(f kN dN ... (f k1 d1 a)...),
k1 ... kN are the keys of all bindings in
d1 ... dN are the associated data.
The order in which the bindings are presented to
fold, but the function receives as arguments both the
key and the associated value for each binding of the map.