anchor.diff:  % @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
  +    case length(V) > get_property(big_vclock,BProps) of
           true -> prune_vclock1(tl(V),Now,BProps);
           false ->
  -            case (Now - HeadTime) > proplists:get_value(old_vclock,BProps) of
  +            case (Now - HeadTime) > get_property(old_vclock,BProps) of
                   true -> prune_vclock1(tl(V),Now,BProps);
                   false -> V
               end
       end.
  +
  +get_property(Key, PairList) ->
  +    {_Key, Value} = lists:keyfind(Key, 1, PairList),
  +    Value.
   
   %% ===================================================================
   %% EUnit tests
  
positive.code: % @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
      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
      end.
  
  % @doc Increment VClock at Node.
  
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;
  