sig   type 'a t = Random.State.t -> 'a   type 'a sized = int -> Random.State.t -> 'a   val return : '-> 'QCheck.Gen.t   val ( >>= ) : 'QCheck.Gen.t -> ('-> 'QCheck.Gen.t) -> 'QCheck.Gen.t   val ( <*> ) : ('-> 'b) QCheck.Gen.t -> 'QCheck.Gen.t -> 'QCheck.Gen.t   val map : ('-> 'b) -> 'QCheck.Gen.t -> 'QCheck.Gen.t   val map2 :     ('-> '-> 'c) -> 'QCheck.Gen.t -> 'QCheck.Gen.t -> 'QCheck.Gen.t   val map3 :     ('-> '-> '-> 'd) ->     'QCheck.Gen.t -> 'QCheck.Gen.t -> 'QCheck.Gen.t -> 'QCheck.Gen.t   val map_keep_input :     ('-> 'b) -> 'QCheck.Gen.t -> ('a * 'b) QCheck.Gen.t   val ( >|= ) : 'QCheck.Gen.t -> ('-> 'b) -> 'QCheck.Gen.t   val oneof : 'QCheck.Gen.t list -> 'QCheck.Gen.t   val oneofl : 'a list -> 'QCheck.Gen.t   val oneofa : 'a array -> 'QCheck.Gen.t   val frequency : (int * 'QCheck.Gen.t) list -> 'QCheck.Gen.t   val frequencyl : (int * 'a) list -> 'QCheck.Gen.t   val frequencya : (int * 'a) array -> 'QCheck.Gen.t   val shuffle_a : 'a array -> unit QCheck.Gen.t   val shuffle_l : 'a list -> 'a list QCheck.Gen.t   val unit : unit QCheck.Gen.t   val bool : bool QCheck.Gen.t   val float : float QCheck.Gen.t   val pfloat : float QCheck.Gen.t   val nfloat : float QCheck.Gen.t   val nat : int QCheck.Gen.t   val neg_int : int QCheck.Gen.t   val pint : int QCheck.Gen.t   val int : int QCheck.Gen.t   val small_nat : int QCheck.Gen.t   val small_int : int QCheck.Gen.t   val small_signed_int : int QCheck.Gen.t   val int_bound : int -> int QCheck.Gen.t   val int_range : int -> int -> int QCheck.Gen.t   val graft_corners : 'QCheck.Gen.t -> 'a list -> unit -> 'QCheck.Gen.t   val int_pos_corners : int list   val int_corners : int list   val ( -- ) : int -> int -> int QCheck.Gen.t   val ui32 : int32 QCheck.Gen.t   val ui64 : int64 QCheck.Gen.t   val list : 'QCheck.Gen.t -> 'a list QCheck.Gen.t   val list_size : int QCheck.Gen.t -> 'QCheck.Gen.t -> 'a list QCheck.Gen.t   val list_repeat : int -> 'QCheck.Gen.t -> 'a list QCheck.Gen.t   val array : 'QCheck.Gen.t -> 'a array QCheck.Gen.t   val array_size :     int QCheck.Gen.t -> 'QCheck.Gen.t -> 'a array QCheck.Gen.t   val array_repeat : int -> 'QCheck.Gen.t -> 'a array QCheck.Gen.t   val opt : 'QCheck.Gen.t -> 'a option QCheck.Gen.t   val pair : 'QCheck.Gen.t -> 'QCheck.Gen.t -> ('a * 'b) QCheck.Gen.t   val triple :     'QCheck.Gen.t ->     'QCheck.Gen.t -> 'QCheck.Gen.t -> ('a * 'b * 'c) QCheck.Gen.t   val quad :     'QCheck.Gen.t ->     'QCheck.Gen.t ->     'QCheck.Gen.t -> 'QCheck.Gen.t -> ('a * 'b * 'c * 'd) QCheck.Gen.t   val char : char QCheck.Gen.t   val printable : char QCheck.Gen.t   val numeral : char QCheck.Gen.t   val string_size :     ?gen:char QCheck.Gen.t -> int QCheck.Gen.t -> string QCheck.Gen.t   val string : ?gen:char QCheck.Gen.t -> string QCheck.Gen.t   val small_string : ?gen:char QCheck.Gen.t -> string QCheck.Gen.t   val small_list : 'QCheck.Gen.t -> 'a list QCheck.Gen.t   val join : 'QCheck.Gen.t QCheck.Gen.t -> 'QCheck.Gen.t   val sized : 'QCheck.Gen.sized -> 'QCheck.Gen.t   val sized_size : int QCheck.Gen.t -> 'QCheck.Gen.sized -> 'QCheck.Gen.t   val fix :     ('QCheck.Gen.sized -> 'QCheck.Gen.sized) -> 'QCheck.Gen.sized   val generate : ?rand:Random.State.t -> n:int -> 'QCheck.Gen.t -> 'a list   val generate1 : ?rand:Random.State.t -> 'QCheck.Gen.t -> 'a end