anchor.diff:      S#state{tags = TagsN,
               tag_cache = Cache =/= false andalso gb_sets:add(Tag, Cache)}.
   
  --spec do_tag_notify(term(), nonempty_string() | binary(), state()) -> state().
  +-spec do_tag_notify(term(), tagname(), 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}),
  
positive.code: % Tag request: Start a new tag server if one doesn't exist already. Forward
  % the request to the tag server.
  
  -spec get_tag_pid(nonempty_string() | binary(), gb_tree(), 'false' | gb_set()) ->
                           {pid(), gb_tree()}.
  get_tag_pid(Tag, Tags, Cache) ->
      case gb_trees:lookup(Tag, Tags) of
  
negative.code:             {P, Tags}
      end.
  
  -spec do_tag_request(term(), tagname(), replyto(), state()) ->
                              state().
  do_tag_request(M, Tag, From, #state{tags = Tags, tag_cache = Cache} = S) ->
      {Pid, TagsN} = get_tag_pid(Tag, Tags, Cache),
  