functor (T : BatOrd.Ord->
  sig type t = T.t array val ord : T.t array BatOrd.ord end