sig   type 'a t = '-> 'QCheck.Iter.t   val nil : 'QCheck.Shrink.t   val unit : unit QCheck.Shrink.t   val char : char QCheck.Shrink.t   val int : int QCheck.Shrink.t   val option : 'QCheck.Shrink.t -> 'a option QCheck.Shrink.t   val string : string QCheck.Shrink.t   val list : ?shrink:'QCheck.Shrink.t -> 'a list QCheck.Shrink.t   val array : ?shrink:'QCheck.Shrink.t -> 'a array QCheck.Shrink.t   val pair :     'QCheck.Shrink.t -> 'QCheck.Shrink.t -> ('a * 'b) QCheck.Shrink.t   val triple :     'QCheck.Shrink.t ->     'QCheck.Shrink.t ->     'QCheck.Shrink.t -> ('a * 'b * 'c) QCheck.Shrink.t   val quad :     'QCheck.Shrink.t ->     'QCheck.Shrink.t ->     'QCheck.Shrink.t ->     'QCheck.Shrink.t -> ('a * 'b * 'c * 'd) QCheck.Shrink.t end