sig
type point = int64
type key = point * point
type value = brange
type t
val empty : t
val add : key -> value -> t -> t
val remove : key -> t -> t
val sub : key -> t -> t
val iter : (key -> value -> unit) -> t -> unit
val fold : (key -> value -> 'a -> 'a) -> t -> 'a -> 'a
val find : point -> t -> key * value
end