functor (T1 : BatOrd.Ord) ->
  functor (T2 : BatOrd.Ord) ->
    sig type t = T1.t * T2.t val ord : t BatOrd.ord end