1effect/Random#fixed:
2 replacement: "Effect.provideService(Random.Random, customRandom)"
3 note: "No exact built-in equivalent remains. For deterministic tests, provide a cycling service implementing nextIntUnsafe and nextDoubleUnsafe; map non-number sequences explicitly."
4effect/Random#make:
5 replacement: "Random.withSeed"
6 note: "Replace service construction and withRandom with Random.withSeed(seed)(program). V4 accepts string or number, returns an Effect transformation, and uses a different PRNG, so sequences are not v3-compatible."
7effect/Random#nextRange:
8 replacement: "Random.nextBetween"
9 note: "Direct rename; both produce a floating-point value in the half-open range [min, max)."
10effect/Random#Random:
11 replacement: "Random.Random"
12 note: "The context key is now a Context.Reference whose low-level service only has nextIntUnsafe and nextDoubleUnsafe. Prefer module operations; custom providers implement those two primitives."
13effect/Random#RandomTypeId:
14 replacement: "none"
15 note: "The service is structural and no longer carries a public RandomTypeId brand."
16effect/Random#randomWith:
17 replacement: "Random.Random.use"
18 note: "Use Random.Random.use for raw service access. Prefer replacing callbacks that selected an old method with the corresponding module-level Random operation."