sig
  type 'a t = '-> string
  val unit : unit QCheck2.Print.t
  val int : int QCheck2.Print.t
  val bool : bool QCheck2.Print.t
  val float : float QCheck2.Print.t
  val char : char QCheck2.Print.t
  val bytes : bytes QCheck2.Print.t
  val string : string QCheck2.Print.t
  val option : 'QCheck2.Print.t -> 'a option QCheck2.Print.t
  val pair :
    'QCheck2.Print.t -> 'QCheck2.Print.t -> ('a * 'b) QCheck2.Print.t
  val triple :
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t -> ('a * 'b * 'c) QCheck2.Print.t
  val quad :
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t -> ('a * 'b * 'c * 'd) QCheck2.Print.t
  val list : 'QCheck2.Print.t -> 'a list QCheck2.Print.t
  val array : 'QCheck2.Print.t -> 'a array QCheck2.Print.t
  val contramap : ('-> 'a) -> 'QCheck2.Print.t -> 'QCheck2.Print.t
  val comap : ('-> 'a) -> 'QCheck2.Print.t -> 'QCheck2.Print.t
  val tup2 :
    'QCheck2.Print.t -> 'QCheck2.Print.t -> ('a * 'b) QCheck2.Print.t
  val tup3 :
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t -> ('a * 'b * 'c) QCheck2.Print.t
  val tup4 :
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t -> ('a * 'b * 'c * 'd) QCheck2.Print.t
  val tup5 :
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t -> ('a * 'b * 'c * 'd * 'e) QCheck2.Print.t
  val tup6 :
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t -> ('a * 'b * 'c * 'd * 'e * 'f) QCheck2.Print.t
  val tup7 :
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t -> ('a * 'b * 'c * 'd * 'e * 'f * 'g) QCheck2.Print.t
  val tup8 :
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h) QCheck2.Print.t
  val tup9 :
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    'QCheck2.Print.t ->
    ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h * 'i) QCheck2.Print.t
end