functor (L : OrderedType) (R : OrderedType) ->
sig
type t
type left = L.t
type right = R.t
val empty : t
val is_empty : t -> bool
val add : t -> left -> right -> t
val remove : t -> left -> right -> t
val cardinal_left : t -> int
val cardinal_right : t -> int
val remove_left : t -> left -> t
val remove_right : t -> right -> t
val mem_left : t -> left -> bool
val mem_right : t -> right -> bool
val find_left : t -> left -> right sequence
val find_right : t -> right -> left sequence
val find1_left : t -> left -> right option
val find1_right : t -> right -> left option
val fold : ('a -> left -> right -> 'a) -> 'a -> t -> 'a
val pairs : t -> (left * right) sequence
val add_pairs : t -> (left * right) sequence -> t
val seq_left : t -> left sequence
val seq_right : t -> right sequence
end