sig
  type 'a t = bool -> unit BatInnerIO.output -> '-> unit
  val print_tuple0 : unit t
  val print_tuple1 : 'a t -> 'a t
  val print_tuple2 : 'a t -> 'b t -> ('a * 'b) t
  val print_tuple3 : 'a t -> 'b t -> 'c t -> ('a * 'b * 'c) t
  val print_tuple4 : 'a t -> 'b t -> 'c t -> 'd t -> ('a * 'b * 'c * 'd) t
  val print_tuple5 :
    'a t -> 'b t -> 'c t -> 'd t -> 'e t -> ('a * 'b * 'c * 'd * 'e) t
  val print_tuple6 :
    'a t ->
    'b t -> 'c t -> 'd t -> 'e t -> 'f t -> ('a * 'b * 'c * 'd * 'e * 'f) t
  val print_tuple7 :
    'a t ->
    'b t ->
    'c t ->
    'd t -> 'e t -> 'f t -> 'g t -> ('a * 'b * 'c * 'd * 'e * 'f * 'g) t
  val print_tuple8 :
    'a t ->
    'b t ->
    'c t ->
    'd t ->
    'e t -> 'f t -> 'g t -> 'h t -> ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h) t
  val print_tuple9 :
    'a t ->
    'b t ->
    'c t ->
    'd t ->
    'e t ->
    'f t ->
    'g t -> 'h t -> 'i t -> ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h * 'i) t
  val print_tuple10 :
    'a t ->
    'b t ->
    'c t ->
    'd t ->
    'e t ->
    'f t ->
    'g t ->
    'h t ->
    'i t -> 'j t -> ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h * 'i * 'j) t
end