sig
  type 'a t
  exception Empty_tree
  val is_empty : 'a Biocaml_intervalTree.t -> bool
  val cardinal : 'a Biocaml_intervalTree.t -> int
  val intersects : int -> int -> 'a Biocaml_intervalTree.t -> bool
  val find_closest :
    int -> int -> 'a Biocaml_intervalTree.t -> int * int * 'a * int
  val empty : 'a Biocaml_intervalTree.t
  val add :
    int ->
    int -> 'a -> 'a Biocaml_intervalTree.t -> 'a Biocaml_intervalTree.t
  val elements : 'a Biocaml_intervalTree.t -> (int * int * 'a) list
  val enum : 'a Biocaml_intervalTree.t -> (int * int * 'a) BatEnum.t
  val backwards : 'a Biocaml_intervalTree.t -> (int * int * 'a) BatEnum.t
  val print : 'a Biocaml_intervalTree.t -> unit
  val check_integrity : 'a Biocaml_intervalTree.t -> unit
end