anchor.diff:      case TKey =:= req_get_key(Req) of
           true ->
               %% key is in TLog, rdht op not necessary
  -            case req_get_op(Req) of
  -                rdht_tx_read ->
  -                    %% when operation is a read and TLog is optimized, we
  -                    %% need the op anyway to calculate the result entry.
  -                    %% Not yet activated:
  -                    %% first_req_per_key_not_in_tlog_iter
  -                    %%   (USTLog, RTail, [Req | Acc]);
  +            case tx_tlog:get_entry_operation(TEntry) of
  +                rdht_tx_write ->
                       first_req_per_key_not_in_tlog_iter(USTLog, RTail, Acc);
                   _ ->
  -                    first_req_per_key_not_in_tlog_iter(USTLog, RTail, Acc)
  +                    case req_get_op(Req) of
  +                        %% when operation needs the value (read) and
  +                        %% TLog is optimized, we need the op anyway to
  +                        %% calculate the result entry.
  +                        rdht_tx_read ->
  +                            first_req_per_key_not_in_tlog_iter
  +                              (USTLog, RTail, [Req | Acc]);
  +                        test_and_set ->
  +                            first_req_per_key_not_in_tlog_iter
  +                              (USTLog, RTail, [Req | Acc]);
  +                        add_on_nr ->
  +                            first_req_per_key_not_in_tlog_iter
  +                              (USTLog, RTail, [Req | Acc]);
  +                        add_del_on_list ->
  +                            first_req_per_key_not_in_tlog_iter
  +                              (USTLog, RTail, [Req | Acc]);
  +                        %%first_req_per_key_not_in_tlog_iter(USTLog, RTail, Acc);
  +                        _ ->
  +                            first_req_per_key_not_in_tlog_iter(USTLog, RTail, Acc)
  +                    end
               end;
           false ->
               case TKey < req_get_key(Req) of
  
positive.code:                             =/= tx_tlog:get_entry_version(RTEntry) of
                              true ->
                                  tx_tlog:set_entry_status(RTEntry, {fail, abort});
                              false -> RTEntry
                          end,
                      merge_tlogs_iter(TTail, RTTail, [NewTLogEntry | Acc]);
                  _ ->
                      log:log(warn,
                              "Duplicate key in TLog merge should not happen"),
                      merge_tlogs_iter(TTail, RTTail, [ RTEntry | Acc])
              end;
          false ->
  
negative.code: %%      of results.
  -spec do_reqs_on_tlog_iter(tx_tlog:tlog(), [request_on_key()], results()) ->
                                    {tx_tlog:tlog(), results()}.
  do_reqs_on_tlog_iter(TLog, [], Acc) ->
      {tlog_cleanup(TLog), lists:reverse(Acc)};
  do_reqs_on_tlog_iter(TLog, [Req | ReqTail], Acc) ->
      Key = req_get_key(Req),
      Entry = tx_tlog:find_entry_by_key(TLog, Key),
  