Id.Maptype key = tval empty : 'a tval is_empty : 'a t -> boolval add : 'a t -> key -> 'a -> ('a t, 'a) Stdune.Result.tLike union but raises a code error if a key appears in both maps.
superpose a b is a augmented with bindings of b that are not in a.
val compare : 'a t -> 'a t -> compare:('a -> 'a -> Ordering.t) -> Ordering.tval iter : 'a t -> f:('a -> unit) -> unitval fold : 'a t -> init:'b -> f:('a -> 'b -> 'b) -> 'bval for_all : 'a t -> f:('a -> bool) -> boolval exists : 'a t -> f:('a -> bool) -> boolval partition_map : 'a t -> f:('a -> ('x, 'y) Stdune.Either.t) -> 'x t * 'y tval cardinal : 'a t -> intval of_list : (key * 'a) list -> ('a t, key * 'a * 'a) Stdune.Result.tval of_list_map :
'a list ->
f:('a -> key * 'b) ->
('b t, key * 'a * 'a) Stdune.Result.tReturn a map of (k, v) bindings such that:
v = f init @@ f v1 @@ fv2 @@ ... @@ f vnwhere v1, v2, ... vn are the values associated to k in the input list, in the order in which they appear. This is essentially a more efficient version of:
of_list_multi l |> map ~f:(List.fold_left ~init ~f)val values : 'a t -> 'a listis_subset t ~of_ ~f is true iff all keys in t are in of_ and f is true for all keys that are in both.
val to_seq : 'a t -> (key * 'a) Stdune.Seq.tmodule Multi : sig ... end