Module type Oc45.Comparable

module type Comparable = sig .. end

type t 
The type of the elements
val compare : t -> t -> int
A function such that compare a b is zero if a equals b and is strictly negative (resp. positive) if a is smaller (resp. greater) than b. In most cases, Pervasives.compare will do.
val avg : t -> t -> t
A function that returns "the average" of its two arguments, or the closest thing to it.

This is used to split the tree between two values. The only important thing is that, if a < b, a <= avg a b < b.