anchor.diff:          #concuerror_info{status = Status} = TheirInfo,
           Status;
         trap_exit ->
  -        #concuerror_info{trap_exit = TrapExit} = TheirInfo,
  -        TrapExit;
  +        TheirInfo#concuerror_info.flags#process_flags.trap_exit;
         ExpectsANumber when
             ExpectsANumber =:= heap_size;
             ExpectsANumber =:= reductions;
  
positive.code:           processes                  :: processes(),
            scheduler                  :: pid(),
            stacktop = 'none'          :: 'none' | tuple(),
            status = exited            :: 'exited'| 'exiting' | 'running' | 'waiting',
            trap_exit = false          :: boolean()
           }).
  
  -type concuerror_info() :: #concuerror_info{}.
  
negative.code:       ?debug_flag(?send, {send, successful}),
        {Message, Info#concuerror_info{next_event = NewEvent}}
    end;
  run_built_in(erlang, process_flag, 2, [Flag, Value],
               #concuerror_info{flags = Flags} = Info) ->
    {Result, NewInfo} =
      case Flag of
        trap_exit ->
          ?badarg_if_not(is_boolean(Value)),
          {Flags#process_flags.trap_exit,
           Info#concuerror_info{flags = Flags#process_flags{trap_exit = Value}}};
        priority ->
          ?badarg_if_not(lists:member(Value, [low,normal,high,max])),
          {Flags#process_flags.priority,
           Info#concuerror_info{flags = Flags#process_flags{priority = Value}}}
      end,
    {Result, NewInfo};
  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)],
  