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