`sig
type 'a t
val bind :
'a Raw_quickcheck_generator.t ->
('a -> 'b Raw_quickcheck_generator.t) -> 'b Raw_quickcheck_generator.t
module Choice :
sig
type 'a t
val original_gen :
'a Raw_quickcheck_generator.Choice.t ->
'a Raw_quickcheck_generator.Choice.t
val updated_gen :
'a Raw_quickcheck_generator.Choice.t ->
keep:[ `All_choices
| `All_choices_except_this_choice
| `Choices_to_the_left_of_this_choice_only
| `Choices_to_the_right_of_this_choice_only
| `This_choice_and_all_choices_to_the_left
| `This_choice_and_all_choices_to_the_right ] ->
'a Raw_quickcheck_generator.Choice.t
val value : 'a Raw_quickcheck_generator.Choice.t -> 'a
val attempts_used : 'a Raw_quickcheck_generator.Choice.t -> int
end
val bind_choice :
'a Raw_quickcheck_generator.t ->
('a Raw_quickcheck_generator.Choice.t -> 'b Raw_quickcheck_generator.t) ->
'b Raw_quickcheck_generator.t
val failure : 'a Raw_quickcheck_generator.t
val singleton : 'a -> 'a Raw_quickcheck_generator.t
val weighted_union :
(float * 'a Raw_quickcheck_generator.t) list ->
'a Raw_quickcheck_generator.t
val of_fun :
(unit -> 'a Raw_quickcheck_generator.t) -> 'a Raw_quickcheck_generator.t
val choose :
'a Raw_quickcheck_generator.t ->
random_float_between_zero_and_one:(unit -> float) ->
max_attempts:int ->
[ `Choice of 'a Raw_quickcheck_generator.Choice.t
| `No_choices_remain
| `Ran_out_of_attempts ]
val inspect :
'a Raw_quickcheck_generator.t ->
[ `Failure
| `Singleton of 'a
| `Weighted_union of (float * 'a Raw_quickcheck_generator.t) list ]
end`