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