functor (B1 : Base->
  functor (B2 : Base->
    sig
      type t = B1.t * B2.t
      val compare : Tools.PairB.t -> Tools.PairB.t -> int
    end