anchor.diff:  	true -> replay_logger:log({link, Lid, TargetLid});
   	false -> continue
       end,
  -    dispatcher(Info);
  +    dispatcher(Context);
   
   %% Receive message handler.
  -handler('receive', Pid, #info{details = Det} = Info, {From, Msg}) ->
  +handler('receive', Pid, #context{details = Det} = Context, {From, Msg}) ->
       Lid = lid:from_pid(Pid),
       SenderLid = lid:from_pid(From),
       ?debug_1("Process ~s receives message `~p` from process ~s.~n",
  
positive.code: %% After activating said process the dispatcher is called to delegate the
  %% messages received from the running process to the appropriate handler
  %% functions.
  driver(#info{active = Active, blocked = Blocked, error = Error,
               state = State} = Info, ReplayState) ->
      case Error of
  	{assert, _Descr} -> {error, Error, State};
          {exception, _Descr} -> {error, Error, State};
  
negative.code: 	true -> replay_logger:log({block, Lid});
  	false -> continue
      end,
      Context#context{blocked = NewBlocked};
  
  %% Exit message handler.
  %% Discard the exited process (don't add to any set).
  %% If the exited process is irrelevant (i.e. has no LID assigned),
  %% call the dispatcher.
  handler(exit, Pid, #context{details = Det} = Context, Reason) ->
      NewReason = shorten_reason(Reason),
      Lid = lid:from_pid(Pid),
      case Lid of
  	not_found ->
  	    ?debug_2("Process ~s (pid = ~p) exits (~p).~n",
                       [Lid, Pid, NewReason]),
  	    dispatcher(Context);
  	_Any ->
  	    ?debug_1("Process ~s exits (~p).~n", [Lid, NewReason]),
  	    case Det of
  