`sig
type 'a t
val branching_factor : 'a Raw_quickcheck_observer.t -> int
val observe :
'a Raw_quickcheck_observer.t ->
'b Raw_quickcheck_generator.t ->
sexp_of_rng:('b -> Sexplib.Sexp.t) ->
branching_factor:int ->
(('a -> 'b) * (unit -> Sexplib.Sexp.t)) Raw_quickcheck_generator.t
val singleton : unit -> 'a Raw_quickcheck_observer.t
val unmap :
'a Raw_quickcheck_observer.t ->
f:('b -> 'a) ->
f_sexp:(unit -> Sexplib.Sexp.t) -> 'b Raw_quickcheck_observer.t
val weighted_union :
(float * 'a Raw_quickcheck_observer.t) list ->
'a Raw_quickcheck_observer.t
val variant2 :
'a Raw_quickcheck_observer.t ->
'b Raw_quickcheck_observer.t ->
[ `A of 'a | `B of 'b ] Raw_quickcheck_observer.t
val tuple2 :
'a Raw_quickcheck_observer.t ->
'b Raw_quickcheck_observer.t -> ('a * 'b) Raw_quickcheck_observer.t
val tuple3 :
'a Raw_quickcheck_observer.t ->
'b Raw_quickcheck_observer.t ->
'c Raw_quickcheck_observer.t -> ('a * 'b * 'c) Raw_quickcheck_observer.t
val tuple4 :
'a Raw_quickcheck_observer.t ->
'b Raw_quickcheck_observer.t ->
'c Raw_quickcheck_observer.t ->
'd Raw_quickcheck_observer.t ->
('a * 'b * 'c * 'd) Raw_quickcheck_observer.t
val tuple5 :
'a Raw_quickcheck_observer.t ->
'b Raw_quickcheck_observer.t ->
'c Raw_quickcheck_observer.t ->
'd Raw_quickcheck_observer.t ->
'e Raw_quickcheck_observer.t ->
('a * 'b * 'c * 'd * 'e) Raw_quickcheck_observer.t
val tuple6 :
'a Raw_quickcheck_observer.t ->
'b Raw_quickcheck_observer.t ->
'c Raw_quickcheck_observer.t ->
'd Raw_quickcheck_observer.t ->
'e Raw_quickcheck_observer.t ->
'f Raw_quickcheck_observer.t ->
('a * 'b * 'c * 'd * 'e * 'f) Raw_quickcheck_observer.t
val fn :
?p:float ->
'a Raw_quickcheck_generator.t ->
'b Raw_quickcheck_observer.t ->
sexp_of_dom:('a -> Sexplib.Sexp.t) ->
('a -> 'b) Raw_quickcheck_observer.t
val of_fun :
(unit -> 'a Raw_quickcheck_observer.t) -> 'a Raw_quickcheck_observer.t
end`