sig
  type t
  type comparable
  val empty_tree : t
  val insert : t -> comparable -> t
  val left : t -> t
  val right : t -> t
  val value : t -> comparable
end