A linear congruential generator (LCG) produces pseudorandom values by repeatedly applying multiplication, addition or seeding, and modular reduction. Java and Clojure use an LCG: an initial seed starts a finite sequence that eventually repeats, defining its period. section 5.10
LCG output is practical for ordinary randomness, such as rolling out a feature to roughly half of requests or selecting a branch in an interactive questionnaire. It is not equally random across all bits and can form visible patterns, so it falls short of demanding scientific simulations. section 5.10
Probabilistic rollout
A helper can choose between two outcomes with `(if (< prob (rand)) A B)`. Passing `0.5` makes the branch suitable for an approximate half-and-half rollout, such as showing progress information to some questionnaire users.

