anchor.diff:  entry_new_read(ReqId, Client, Key, DataType, QueryFun, EmptyVal) ->
       {ReqId, Client, Key, DataType, QueryFun,
        #r_replies{reply_count=0, highest_seen_round=pr:new(0,0), highest_replies=0,
  -                value=EmptyVal, cons_value=true}}.
  +                value=EmptyVal, cons_value=true}, _RoundTrips=0}.
   
   -spec entry_new_write(any(), comm:erl_local_pid(), ?RT:key(), module(), crdt:update_fun()) -> entry().
   entry_new_write(ReqId, Client, Key, DataType, UpdateFun) ->
  -    {ReqId, Client, Key, DataType, UpdateFun, #w_replies{reply_count=0}}.
  +    {ReqId, Client, Key, DataType, UpdateFun, #w_replies{reply_count=0}, _RoundTrips=0}.
   
   -spec entry_reqid(entry())        -> any().
   entry_reqid(Entry)                -> element(1, Entry).
  
positive.code:                        entry_datatype(Entry), CVal},
                  trace_mpath:log_info(self(), {write_strong_start,
                                               value, CVal}),
                  send_to_all_replicas(entry_key(Entry), Msg)
          end,
      State;
  
  
negative.code:                                              }),
                  %% retry the read in a higher round...
                  %% TODO more intelligent retry mechanism?
                  RoundTrips = entry_round_trips(Entry),
                  Delay = randoms:rand_uniform(0, 10),
                  comm:send_local_after(Delay, self(),
                                          {req_start, {read, strong,
                                          entry_client(Entry),
                                          entry_key(Entry),
                                          entry_datatype(Entry),
                                          entry_fun(Entry),
                                          NextRound,
                                          RoundTrips}})
          end,
      State;
  
  