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