//! Small RNG helpers shared across the arena.
use SeedableRng;
use StdRng;
/// Build a `StdRng` from an optional seed.
///
/// When `seed` is `Some`, the RNG is deterministically seeded so runs are
/// reproducible. When `seed` is `None`, the RNG is seeded from the thread RNG.
///
/// A concrete `StdRng` (rather than a `&mut dyn Rng`) is returned so callers
/// can own it across `Send` async boundaries, e.g. when driving a runner from
/// a `tokio::spawn`ed task.