functor (T : BatOrd.Eq-> sig type t = T.t list val eq : t BatOrd.eq end