anchor.diff:  
   %% @doc Merge two `mvreg()'s to a single `mvreg()'. This is the Least Upper Bound
   %% function described in the literature.
  +%% !!! Not implemented !!! Propagate is basically doing merging. 
   -spec merge(mvreg(), mvreg()) -> mvreg().
   merge(MVReg1, _MVReg2) ->
       MVReg1.
  -    %{Val1, TS1}.
   
   %% @doc Are two `mvreg()'s structurally equal? This is not `value/1' equality.
   %% Two registers might represent the value `armchair', and not be `equal/2'. Equality here is
  
positive.code:     end.
  
  
  %% @doc Merge a `mvreg()' to another `mvreg()'. Note that the first `mvreg()' is local and can have multiple vector clocks,
  %% while the second one is remote and only has one vector clock.
  -spec merge_to(mvreg(), mvreg()) -> mvreg().
  merge_to([], MVReg2) ->
      MVReg2;
  
negative.code:     NewVC = riak_dt_vclock:increment(Actor, MaxVC),
      NewVC.
  
  %% @doc If `TS'(timestamp) is larger than all entries of `Actor' for the MVReg.
  -spec larger_than(pos_integer(), term(), mvreg()) -> boolean().
  larger_than(_TS, _Actor, []) ->
      true;
  