- type 'a key
- The type for keys whose lookup value is of type - 'a.
 
- module Key : sig ... end
- Keys. 
- type t
- The type for heterogeneous value maps. 
- val empty : t
- emptyis the empty map.
 
- val is_empty : t -> bool
- is_empty mis- trueiff- mis empty.
 
- val mem : 'a key -> t -> bool
- mem k mis- trueiff- kis bound in- m.
 
- val add : 'a key -> 'a -> t -> t
- add k v mis- mwith- kbound to- v.
 
- val singleton : 'a key -> 'a -> t
- singleton k vis- add k v empty.
 
- val rem : 'a key -> t -> t
- rem k mis- mwith- kunbound.
 
- val find : 'a key -> t -> 'a option
- find k mis the value of- k's binding in- m, if any.
 
- val get : 'a key -> t -> 'a
- get k mis the value of- k's binding in- m.
 - raises Invalid_argument
- if - kis not bound in- m.
 
 
- type binding-  = 
- The type for bindings. 
- val iter : (binding -> unit) -> t -> unit
- iter f mapplies- fto all bindings of- m.
 
- val fold : (binding -> 'a -> 'a) -> t -> 'a -> 'a
- fold f m accfolds over the bindings of- mwith- f, starting with- acc
 
- val for_all : (binding -> bool) -> t -> bool
- for_all p mis- trueiff all bindings of- msatisfy- p.
 
- val exists : (binding -> bool) -> t -> bool
- exists p mis- trueiff there exists a bindings of- mthat satisfies- p.
 
- val filter : (binding -> bool) -> t -> t
- filter p mare the bindings of- mthat satisfy- p.
 
- val cardinal : t -> int
- cardinal mis the number of bindings in- m.
 
- val any_binding : t -> binding option
- any_binding mis a binding of- m(if not empty).
 
- val get_any_binding : t -> binding
- get_any_binding mis a binding of- m.
 - raises Invalid_argument
- if - mis empty.