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