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