Draws n POSIXct times uniformly in [origin, origin +
duration_s], guaranteed distinct from each other and from any time in
avoid. Resamples collisions rather than assuming they are rare.
Details
Collision-freedom is a correctness requirement, not a nicety.
simsTocaptureHistoryTable merges detector tables on exact
datetime equality, and merge() on a duplicated key returns
the cartesian product of the matching rows. With one duplicated time
shared across N detector tables, a single event becomes 2^N rows.
Comparison is done on the underlying numeric representation, which is
what merge() itself compares, so a time that passes this check
cannot collide downstream.