functor (A : Arbitrary) ->
  functor (B : Arbitrary) ->
    sig
      type t = A.t * B.t
      val gen : ?size:int -> Random.State.t -> Reins.Types.Mono.GenPair.t
      val to_string : Reins.Types.Mono.GenPair.t -> string
    end