anchor.diff:  
   stop() -> not_implemented.
   
  --spec tag_operation(term(), nonempty_string() | binary()) -> term().
  +-spec tag_operation(term(), tagname()) -> term().
   tag_operation(Op, Tag) ->
       gen_server:call(?MODULE, {tag, Op, Tag}).
  --spec tag_operation(term(), nonempty_string() | binary(), non_neg_integer()) ->
  +-spec tag_operation(term(), tagname(), non_neg_integer()) ->
                              term().
   tag_operation(Op, Tag, Timeout) ->
       gen_server:call(?MODULE, {tag, Op, Tag}, Timeout).
   
  --spec tag_notify(term(), nonempty_string() | binary()) -> 'ok'.
  +-spec tag_notify(term(), tagname()) -> 'ok'.
   tag_notify(Op, Tag) ->
       gen_server:cast(?MODULE, {tag_notify, Op, Tag}).
   
  
positive.code:     S#state{tags = TagsN,
              tag_cache = Cache =/= false andalso gb_sets:add(Tag, Cache)}.
  
  -spec do_tag_notify(term(), nonempty_string() | binary(), state()) -> state().
  do_tag_notify(M, Tag, #state{tags = Tags, tag_cache = Cache} = S) ->
      {Pid, TagsN} = get_tag_pid(Tag, Tags, Cache),
      gen_server:cast(Pid, {notify, M}),
  
negative.code:             {ok, Secondary}
      end.
  
  -spec do_new_blob(string(), non_neg_integer(), [node()], [node()], [node_info()]) ->
                           'too_many_replicas' | {'ok', [nonempty_string()]}.
  do_new_blob(_Obj, K, _Exclude, _BlackList, Nodes) when K > length(Nodes) ->
      too_many_replicas;
  