anchor.diff:                              =/= tx_tlog:get_entry_version(RTEntry) of
                               true ->
                                   tx_tlog:set_entry_status(RTEntry, {fail, abort});
  -                            false -> RTEntry
  +                            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"),
  +                            "Duplicate key in TLog merge should not happen ~p ~p", [TEntry, RTEntry]),
                       merge_tlogs_iter(TTail, RTTail, [ RTEntry | Acc])
               end;
           false ->
  
positive.code:         end,
      NewTLog = tx_tlog:update_entry(TLog, NewTLogEntry),
      do_reqs_on_tlog_iter(NewTLog, ReqTail, [ResultEntry | Acc]).
  
  %% @doc Get a result entry for a read from the given TLog entry.
  -spec tlog_read(tx_tlog:tlog_entry(), client_key()) ->
  
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),
  