functor (Ord : Ord-> sig type t = Ord.t val eq : t eq end