Boundary values come up often because bugs cluster at them.
integer_bits :: (r: *Rng, size: s64, signed: bool) -> u64