A version of & that preserves distinctness of events
at the expense of being able to guarantee "proper" interleaving
with other events scheduled at the same time. For example, suppose a
composite event e1 &- e2 of this type is scheduled, then a third
event e3 is scheduled for the same time. The "expected" order of
execution is e1; e2; e3. What actually happens is e1; e3; e2 -
because (e1 &- e2) runs, having the effect of running e1 and
scheduling e2, then e3 runs (because it's next in the queue),
then e2 finally runs. This situation could be solved by changing
the semantics for doNext as proposed there.

This is primarily useful for separating an initial SetDebugHandlers
event from the other event(s) being fired at the start
of the simulation, so that they will be "seen" by the
newly installed handlers.