anchor.diff:  % @doc Get the counter value in VClock set from Node.
   -spec get_counter(Node :: vclock_node(), VClock :: vclock()) -> counter() | undefined.
   get_counter(Node, VClock) ->
  -    case proplists:get_value(Node, VClock) of
  -	{Ctr, _TS} -> Ctr;
  -	undefined -> undefined
  +    case lists:keyfind(Node, 1, VClock) of
  +	{_, {Ctr, _TS}} -> Ctr;
  +	false           -> undefined
       end.
   
   % @doc Get the timestamp value in a VClock set from Node.
   -spec get_timestamp(Node :: vclock_node(), VClock :: vclock()) -> timestamp() | undefined.
   get_timestamp(Node, VClock) ->
  -    case proplists:get_value(Node, VClock) of
  -	{_Ctr, TS} -> TS;
  -	undefined -> undefined
  +    case lists:keyfind(Node, 1, VClock) of
  +	{_, {_Ctr, TS}} -> TS;
  +	false           -> undefined
       end.
   
   % @doc Increment VClock at Node.
  
positive.code: % @private
  prune_vclock1(V,Now,BProps,HeadTime) ->
      % has a precondition that V is longer than small and older than young
      case length(V) > proplists:get_value(big_vclock,BProps) of
          true -> prune_vclock1(tl(V),Now,BProps);
          false ->
              case (Now - HeadTime) > proplists:get_value(old_vclock,BProps) of
                  true -> prune_vclock1(tl(V),Now,BProps);
                  false -> V
              end
      end.
  
  %% ===================================================================
  %% EUnit tests
  
negative.code: descends(Va, Vb) ->
      [{NodeB, {CtrB, _T}}|RestB] = Vb,
      CtrA = 
  	case lists:keyfind(NodeB, 1, Va) of
  	    false           -> false;
  	    {_, {CA, _TSA}} -> CA
  	end,
      case CtrA of
  	false -> false;
  