anchor.diff:                   Acc) ->
       TKey = tx_tlog:get_entry_key(TEntry),
       RTKey = tx_tlog:get_entry_key(RTEntry),
  -    if TKey =:= RTKey ->
  +    if TKey < RTKey ->
  +           merge_tlogs_iter(TTail, SortedRTLog, [TEntry | Acc]);
  +       TKey > RTKey ->
  +           merge_tlogs_iter(SortedTLog, RTTail, [RTEntry | Acc]);
  +       true -> % TKey =:= RTKey ->
              %% key was in TLog, new entry is newer and contains value
              %% for read?
              case tx_tlog:get_entry_operation(TEntry) of
  
positive.code:     %% better round robin.
      [ begin
            NewReqId = uid:get_global_uid(), % local id not sufficient
            OpModule = case req_get_op(Entry) of
                           read -> rdht_tx_read;
                           write -> rdht_tx_write;
                           test_and_set -> rdht_tx_read;
                           add_del_on_list -> rdht_tx_read;
                           add_on_nr -> rdht_tx_read
                       end,
            case OpModule of
                rdht_tx_read ->
                    rdht_tx_read:work_phase(self(), NewReqId, Entry);
                rdht_tx_write ->
                    rdht_tx_write:work_phase(self(), NewReqId, Entry)
            end,
            NewReqId
        end || Entry <- ReqList ].
  
negative.code:                    %% check versions: if mismatch -> change status to abort
                     NewTLogEntry =
                         case tx_tlog:get_entry_version(TEntry)
                                  =:= tx_tlog:get_entry_version(RTEntry) of
                             true ->
                                 Val = tx_tlog:get_entry_value(RTEntry),
                                 tx_tlog:set_entry_value(TEntry, Val);
                             false ->
                                 tx_tlog:set_entry_status(RTEntry, {fail, abort})
                         end,
                     merge_tlogs_iter(TTail, RTTail, [NewTLogEntry | Acc]);
                 _ ->
                     log:log(warn,
                             "Duplicate key in TLog merge should not happen ~p ~p", [TEntry, RTEntry]),
                     merge_tlogs_iter(TTail, RTTail, [ RTEntry | Acc])
             end
      end;
  merge_tlogs_iter([], [], Acc)                 -> lists:reverse(Acc);
  merge_tlogs_iter([], [_|_] = SortedRTLog, []) -> SortedRTLog;
  