functor (BB : Bounding_box_intf.S) ->
sig
type bb = BB.t
type 'a t = Empty | Node of (bb * 'a t) list | Leaf of (bb * 'a) list
val empty : 'a t
val empty_node : bb * 'a t
val bounding_box_of_nodes : (bb * 'b) list -> bb
val size : 'a t -> int
val partition_by_min_delta :
(bb * 'a t) list -> bb -> (bb * 'a t) * (bb * 'a t) list
val quadratic_split :
(bb * 'a) list -> (bb * (bb * 'a) list) * (bb * (bb * 'a) list)
val insert' :
?max_nodes:int -> 'a t -> bb -> 'a -> (bb * 'a t) * (bb * 'a t)
val insert : ?max_nodes:int -> 'a t -> bb -> 'a -> 'a t
val search : 'a t -> bb -> 'a list
end