Map (imandrax-ocaml.Imandrax_ocaml_prelude.Prelude_extracted.Map)

`type (+'a, 'b) t = {`

1. `l : ('a * 'b) list;`
2. `default : 'b;`

`}`
`val const_ : 'a -> ('b, 'a) t`
`val const : 'b -> ('a, 'b) t`
`val add_rec : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t`
`val add' : ('a, 'b) t -> 'a -> 'b -> ('a, 'b) t`

`add' m k v` adds the binding `k -> v` to `m`

`val add : 'a -> 'b -> ('a, 'b) t -> ('a, 'b) t`

Same as `add'` but with arguments swapped

`val get_default_ : ('a, 'b) t -> 'b`
`val get_default : ('a, 'b) t -> 'b`
`val get_rec : ('a, 'b) t -> 'a -> 'b`
`val get' : ('a, 'b) t -> 'a -> 'b`
`val get : 'a -> ('a, 'b) t -> 'b`
`val of_list : 'b -> ('a * 'b) list -> ('a, 'b) t`
`val filter_map : default:('a -> 'b) -> f:('c -> 'a -> 'b option) -> ('c, 'a) t -> ('c, 'b) t`
`val for_all : default:('a -> bool) -> f:('b -> 'a -> bool) -> ('b, 'a) t -> bool`
`val merge : default:('b -> 'c -> 'd) -> f_both:('a -> 'b -> 'c -> 'd option) -> f1:('a -> 'b -> 'd option) -> f2:('a -> 'c -> 'd option) -> ('a, 'b) t -> ('a, 'c) t -> ('a, 'd) t`
`val extract : ('a, 'b) t -> ('a * 'b) list * 'b`
`val pp : (Stdlib.Format.formatter -> 'a -> unit) -> (Stdlib.Format.formatter -> 'b -> unit) -> Stdlib.Format.formatter -> ('a, 'b) t -> unit`