type 'a t = 'a Base_quickcheck.Shrinker.t
val shrink : 'a t -> 'a -> 'a Sequence.tval create : ('a -> 'a Sequence.t) -> 'a tval empty : Base.Unit.t -> 'a tval bool : Base.Bool.t tval char : Base.Char.t tval map : 'a t -> f:('a -> 'b) -> f_inverse:('b -> 'a) -> 'b tval filter : 'a t -> f:('a -> Base.Bool.t) -> 'a tval filter_map : 'a t -> f:('a -> 'b Base.Option.t) -> f_inverse:('b -> 'a) -> 'b tFilters and maps according to
f, and provides input totviaf_inverse. Only thefdirection produces options, intentionally.
val tuple2 : 'a t -> 'b t -> ('a * 'b) tval tuple3 : 'a t -> 'b t -> 'c t -> ('a * 'b * 'c) tval tuple4 : 'a t -> 'b t -> 'c t -> 'd t -> ('a * 'b * 'c * 'd) tval tuple5 : 'a t -> 'b t -> 'c t -> 'd t -> 'e t -> ('a * 'b * 'c * 'd * 'e) tval tuple6 : 'a t -> 'b t -> 'c t -> 'd t -> 'e t -> 'f t -> ('a * 'b * 'c * 'd * 'e * 'f) tval variant2 : 'a t -> 'b t -> [ `A of 'a | `B of 'b ] tval variant3 : 'a t -> 'b t -> 'c t -> [ `A of 'a | `B of 'b | `C of 'c ] tval variant4 : 'a t -> 'b t -> 'c t -> 'd t -> [ `A of 'a | `B of 'b | `C of 'c | `D of 'd ] tval variant5 : 'a t -> 'b t -> 'c t -> 'd t -> 'e t -> [ `A of 'a | `B of 'b | `C of 'c | `D of 'd | `E of 'e ] tval variant6 : 'a t -> 'b t -> 'c t -> 'd t -> 'e t -> 'f t -> [ `A of 'a | `B of 'b | `C of 'c | `D of 'd | `E of 'e | `F of 'f ] tval fixed_point : ('a t -> 'a t) -> 'a tfixed_pointassists with shrinking structures recursively. Its advantage over directly usingrecin the definition of the shrinker is that it causes lazy evaluation where possible.