anchor.diff:                             ReadVal, EntryWriteRound),
   
               NewKeyEntry = entry_set_r_read(KeyEntry, NewReadRound),
  -            NewKeyEntry2 = entry_set_val(NewKeyEntry, NewKeyEntryVal), % prbr read handler might change value (e.g. due to GCing)
  +            NewKeyEntry2 = entry_set_val(NewKeyEntry, NewKeyEntryVal),
               _ = set_entry(NewKeyEntry2, TableName);
            _ ->
               msg_read_deny(Proposer, Cons, ReadRound, entry_r_read(KeyEntry))
  
positive.code: on({prbr, round_request, _DB, Cons, Proposer, Key, DataType, ProposerUID, ReadFilter, OpType}, TableName) ->
      ?TRACE("prbr:round_request: ~p in round ~p~n", [Key, ProposerUID]),
      KeyEntry = get_entry(Key, TableName),
      {NewKeyEntryVal, ReadVal} =
          case erlang:function_exported(DataType, prbr_read_handler, 3) of
              true -> DataType:prbr_read_handler(KeyEntry, TableName, ReadFilter);
              _    -> {entry_val(KeyEntry), ReadFilter(entry_val(KeyEntry))}
          end,
      %% Assign a valid next read round number
      %% If this round_request is part a read it is not necessary
      %% to increment the read round number, since a read does not
  
negative.code: 
      _ = case pr:get_r(ReadRound) > pr:get_r(entry_r_read(KeyEntry)) of
           true ->
               %% prbr read handler might change value (e.g. due to GCing)
              {NewKeyEntryVal, ReadVal, _ValueHasChanged} =
                  case erlang:function_exported(DataType, prbr_read_handler, 3) of
                      true -> DataType:prbr_read_handler(KeyEntry, TableName, ReadFilter);
                      _    -> {entry_val(KeyEntry), ReadFilter(entry_val(KeyEntry)), false}
                  end,
              trace_mpath:log_info(self(), {'prbr:on(read)',
                                            %% key, Key,
  