functor (M : KnnParams) ->
sig
type a = M.a
type +'a t
val empty : 'a t
val create_balanced : (a * 'a) list -> 'a t
val add : a -> 'a -> 'a t -> 'a t
val find_k_nearest : 'a t -> int -> float -> a -> (float * a * 'a) list
val contents : 'a t -> (a * 'a) list
val rebalance : 'a t -> 'a t
end