anchor.diff:              {test_and_set, Key, Old, New} -> tlog_test_and_set(Entry, Key, Old, New, EnDecode)
           end,
       NewTLog = tx_tlog:update_entry(TLog, NewTLogEntry),
  -    do_reqs_on_tlog_iter(NewTLog, ReqTail, [ResultEntry | Acc], EnDecode).
  +    do_reqs_on_tlog_iter(NewTLog, ReqTail, [ResultEntry | Acc], EnDecode);
  +do_reqs_on_tlog_iter(TLog, [], Acc, _EnDecode) ->
  +    {tlog_cleanup(TLog), lists:reverse(Acc)}.
   
   -spec tlog_cleanup(tx_tlog:tlog()) -> tx_tlog:tlog().
   tlog_cleanup(TLog) ->
  
positive.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 ->
                                 tx_tlog:set_entry_status(RTEntry, {fail, abort});
                             false ->
                                 Val = tx_tlog:get_entry_value(RTEntry),
                                 tx_tlog:set_entry_value(TEntry, Val)
                         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;
         TKey < RTKey ->
             merge_tlogs_iter(TTail, SortedRTLog, [TEntry | Acc]);
         true ->
             merge_tlogs_iter(SortedTLog, RTTail, [RTEntry | Acc])
      end;
  merge_tlogs_iter([], [], Acc)                 -> lists:reverse(Acc);
  merge_tlogs_iter([], [_|_] = SortedRTLog, []) -> SortedRTLog;
  
negative.code: 
  %% @doc Helper to perform all operations on the TLog and generate list
  %%      of results.
  %%      TODO: sort the req list similar to the tlog list and parse through both at the same time!
  -spec do_reqs_on_tlog_iter(tx_tlog:tlog(), [request_on_key()], results(), EnDecode::boolean()) ->
                                    {tx_tlog:tlog(), results()}.
  do_reqs_on_tlog_iter(TLog, [Req | ReqTail], Acc, EnDecode) ->
      Key = req_get_key(Req),
      Entry = tx_tlog:find_entry_by_key(TLog, Key),
  