Module 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