anchor.diff:  parent_clock(_Clock, Reg) ->
       Reg.
   
  -%% @doc The single total value of a `gcounter()'.
  +%% @doc The values of a `gcounter()'.
   -spec value(mvreg()) -> term().
   value(MVReg) ->
       [Val || {Val, _TS} <- MVReg].
   
  -%% @doc query for this `mvreg()'.
  +%% @doc query for this `mvreg()' of its timestamp.
   %% `timestamp' is the only query option.
  --spec value(mv_q(), mvreg()) -> non_neg_integer().
  +-spec value(mv_q(), mvreg()) -> term().
   value(timestamp, MVReg) ->
       [TS || {_Val, TS} <- MVReg].
   
   %% @doc Assign a `Value' to the `mvreg()'
  -%% associating the update with time `TS'
  +%% associating the update with time `TS'. This kind of update is supposed to be
  +%% linealizable so the assigner does not need to provide the
  +%% timestamp it has observed. The update is only applied if the timestamp
  +%% dominate the current one.
   -spec update(mvreg_op(), term(), mvreg()) ->
                       {ok, mvreg()}.
   update({assign, Value, TS}, Actor, MVReg) ->
  
positive.code:     Values = value(MVReg),
      TS = value(timestamp, MVReg),
      Size =  erlang:external_size(Values) + erlang:external_size(TS),
      Size.
  %stat(value_size, [], Acc) -> Acc. 
  
  -include("riak_dt_tags.hrl").
  -define(TAG, ?DT_MVREG_TAG).
  
negative.code: %% EQC generator
  generate() ->
      ?LET({Op, Actor}, {gen_op(), char()},
           begin.
               {ok, Lww} = riak_dt_mvreg:update(Op, Actor, riak_dt_mvreg:new()),
               Lww
           end).
  