anchor.diff:      %% 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)
  +          case req_get_op(Entry) of
  +              write           -> rdht_tx_write:work_phase(self(), NewReqId, Entry);
  +              read            -> rdht_tx_read:work_phase(self(), NewReqId, Entry);
  +              test_and_set    -> rdht_tx_read:work_phase(self(), NewReqId, Entry);
  +              add_del_on_list -> rdht_tx_read:work_phase(self(), NewReqId, Entry);
  +              add_on_nr       -> rdht_tx_read:work_phase(self(), NewReqId, Entry)
             end,
             NewReqId
         end || Entry <- ReqList ].
  
positive.code:                  Acc) ->
      TKey = tx_tlog:get_entry_key(TEntry),
      RTKey = tx_tlog:get_entry_key(RTEntry),
      if TKey =:= RTKey ->
             %% key was in TLog, new entry is newer and contains value
             %% for read?
             case tx_tlog:get_entry_operation(TEntry) of
  
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;
  