Sourceval branch :
prefix:int ->
branching_bit:int ->
tree0:'map t ->
tree1:'map t ->
'map t Sourcetype !'map view = private | Empty : 'map0 view| Branch : {prefix : int;branching_bit : int;tree0 : 'map1 t;tree1 : 'map1 t;
} -> 'map1 view| Leaf : {key : 'key key;value : ('key, 'map2) value;
} -> 'map2 view
Sourceval is_empty : 'map t -> bool Sourcetype (!'map, !'res) polyfold = {f : 'a. 'a key -> ('a, 'map) value -> 'res;
} Sourcetype (!'map1, !'map2) polymap = {f : 'a. ('a, 'map1) value -> ('a, 'map2) value;
} Sourcetype (!'map1, !'map2) polymapi = {f : 'a. 'a key -> ('a, 'map1) value -> ('a, 'map2) value;
} Sourcetype (!'map1, !'map2) polyfilter_map = {f : 'a. 'a key -> ('a, 'map1) value -> ('a, 'map2) value option;
} Sourcetype (!'map1, !'map2, !'acc) polyfold2_inter = {f : 'a. 'a key -> ('a, 'map1) value -> ('a, 'map2) value -> 'acc;
} Sourcetype (!'map1, !'map2, !'res) polyfold2 = {f : 'a. 'a key -> ('a, 'map1) value option -> ('a, 'map2) value option -> 'res;
} Sourceval reflexive_any_domain_for_all2 :
('map1, 'map2, bool) polyfold2 ->
'map1 t ->
'map2 t ->
bool Sourceval nonreflexive_any_domain_for_all2 :
('map1, 'map2, bool) polyfold2 ->
'map1 t ->
'map2 t ->
bool Sourceval disjoint : 'a t -> 'a t -> bool Sourcetype (!'map1, !'map2, !'map3) polyunion = {f : 'a. 'a key -> ('a, 'map1) value -> ('a, 'map2) value -> ('a, 'map3) value;
} Sourcetype (!'map1, !'map2, !'map3) polyinter = {f : 'a. 'a key -> ('a, 'map1) value -> ('a, 'map2) value -> ('a, 'map3) value;
} Sourcetype (!'map1, !'map2, !'map3) polyinterfilter = {f : 'a. 'a key ->
('a, 'map1) value ->
('a, 'map2) value ->
('a, 'map3) value option;
} Sourcetype (!'map1, !'map2, !'map3) polymerge = {f : 'a. 'a key ->
('a, 'map1) value option ->
('a, 'map2) value option ->
('a, 'map3) value option;
} Sourceval fold2 :
reflexive:bool ->
left_only:('a, 'r -> 'r) polyfold option ->
common:('a, 'b, 'r -> 'r) polyfold2_inter option ->
right_only:('b, 'r -> 'r) polyfold option ->
'a t ->
'b t ->
'r ->
'r Sourceval fold_on_nonequal_inter :
('map1, 'map2, 'acc -> 'acc) polyfold2_inter ->
'map1 t ->
'map2 t ->
'acc ->
'acc Sourceval fold_on_nonequal_union :
('map1, 'map2, 'acc -> 'acc) polyfold2 ->
'map1 t ->
'map2 t ->
'acc ->
'acc Sourceval fold_on_union :
('map1, 'map2, 'acc -> 'acc) polyfold2 ->
'map1 t ->
'map2 t ->
'acc ->
'acc