RngOp
Perturb data type to be used for producing a function: Rng[A] => Rng[A => B].
The Perturb data type is used to alter the target value based on the argument.

There is possibly a more convenient library to provide here, but I was unable to find a suitable solution.
perturb
combinators
made Gen a reader on Size and not State
generate endo functions