module type Ordered =
sig 
   type t
   val eq : t -> t -> bool
   val lt : t -> t -> bool
   val leq : t -> t -> bool
end