anchor.diff:            True when True =:= true; True =:= irreversible ->
               #trace_state{clock_map = ClockMap} = TraceState,
               EarlyActorClock = lookup_clock(EarlyActor, ClockMap),
  -            max_cv(Clock, EarlyActorClock)
  +            max_cv(
  +              Clock, orddict:store(EarlyActor, EarlyIndex, EarlyActorClock))
           end
       end,
     update_clock(Rest, Event, NewClock, State).
  
positive.code:       plan_more_interleavings(Rest, [TraceState|OldTrace], State);
      false ->
        ClockMap = get_base_clock(OldTrace, []),
        ActorClock = lookup_clock(Actor, ClockMap),
        BaseClock =
          case ?is_channel(Actor) of
            true ->
  
negative.code:         dict:store(SpawnedPid, HappenedBeforeClock, BaseNewClockMap);
        none -> BaseNewClockMap
      end,
    StateClock = lookup_clock(state, ClockMap),
    OldActorClock = lookup_clock_value(Actor, StateClock),
    FinalActorClock = orddict:store(Actor, OldActorClock, HappenedBeforeClock),
    FinalStateClock = orddict:store(Actor, Index, StateClock),
    FinalClockMap =
      dict:store(
        Actor, FinalActorClock,
        dict:store(state, FinalStateClock, NewClockMap)),
    NewTraceState =
      TraceState#trace_state{
        clock_map = FinalClockMap,
        done = [UpdatedEvent|RestEvents]},
    assign_happens_before(Later, [NewTraceState|RevLate], RevEarly, State).
  
  