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