functor (T1 : BatOrd.Comp) (T2 : BatOrd.Comp) (T3 : BatOrd.Comp)
  (T4 : BatOrd.Comp) (T5 : BatOrd.Comp->
  sig
    type t = T1.t * T2.t * T3.t * T4.t * T5.t
    val compare : t BatOrd.comp
  end