include sig ... end
Sourceval add_to_list : key:key -> data:'a -> 'a list t -> 'a list t Sourceval update : key:key -> f:('a option -> 'a option) -> 'a t -> 'a t Sourceval merge :
f:(key -> 'a option -> 'b option -> 'c option) ->
'a t ->
'b t ->
'c t Sourceval union : f:(key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t Sourceval min_binding_opt : 'a t -> (key * 'a) option Sourceval max_binding_opt : 'a t -> (key * 'a) option Sourceval find_first_opt : f:(key -> bool) -> 'a t -> (key * 'a) option Sourceval find_last_opt : f:(key -> bool) -> 'a t -> (key * 'a) option Sourceval iter : f:(key:key -> data:'a -> unit) -> 'a t -> unit Sourceval fold : f:(key:key -> data:'a -> 'acc -> 'acc) -> 'a t -> init:'acc -> 'acc Sourceval map : f:('a -> 'b) -> 'a t -> 'b t Sourceval filter : f:(key -> 'a -> bool) -> 'a t -> 'a t Sourceval filter_map : f:(key -> 'a -> 'b option) -> 'a t -> 'b t Sourceval partition : f:(key -> 'a -> bool) -> 'a t -> 'a t * 'a t Sourceval equal : cmp:('a -> 'a -> bool) -> 'a t -> 'a t -> bool Sourceval compare : cmp:('a -> 'a -> int) -> 'a t -> 'a t -> int Sourceval for_all : f:(key -> 'a -> bool) -> 'a t -> bool Sourceval exists : f:(key -> 'a -> bool) -> 'a t -> bool Sourceval add_multiple : key -> 'a -> 'a list t -> 'a list t