anchor.diff:        end;
       {exit_signal, #message{data = {'EXIT', _From, Reason}} = Message} ->
         Scheduler = Info#concuerror_info.scheduler,
  -      Trapping = Info#concuerror_info.trap_exit,
  +      Trapping = Info#concuerror_info.flags#process_flags.trap_exit,
         case is_active(Info) of
           true ->
             %% XXX: Verify that this is the correct behaviour
  
positive.code:       ?debug_flag(?send, {send, successful}),
        {Message, Info#concuerror_info{next_event = NewEvent}}
    end;
  run_built_in(erlang, process_flag, 2, [trap_exit, Value],
               #concuerror_info{trap_exit = OldValue} = Info) ->
    ?debug_flag(?trap, {trap_exit_set, Value}),
    {OldValue, Info#concuerror_info{trap_exit = Value}};
  run_built_in(erlang, unlink, 1, [Pid], #concuerror_info{links = Links} = Info) ->
    Self = self(),
    [true,true] = [ets:delete_object(Links, L) || L <- ?links(Self, Pid)],
  
negative.code:   case Match of
      {true, MessageOrAfter} ->
        #concuerror_info{
           next_event = NextEvent,
           flags = #process_flags{trap_exit = Trapping}
          } = UpdatedInfo =
          add_location_info(Location, ReceiveInfo),
        ReceiveEvent =
          #receive_event{
             message = MessageOrAfter,
             patterns = PatternFun,
             timeout = Timeout,
             trapping = Trapping},
        {Special, CreateMessage} =
          case MessageOrAfter of
            #message{data = Data, message_id = Id} ->
  