anchor.diff:  
   handle_cast({{get, Attrib, Token}, ReplyTo}, #state{data = #tagcontent{} = D} = S) ->
       S1 = check_read_token(Token, ReplyTo, S,
  -                          fun () ->
  -                                  do_get(Attrib, ReplyTo, D, S)
  +                          fun (TokenType) ->
  +                                  do_get(TokenType, Attrib, ReplyTo, D, S)
                             end),
       {noreply, S1, S1#state.timeout};
   
  
positive.code: 
  handle_cast({{put, Field, Value, Token}, ReplyTo}, S) ->
      S1 = check_write_token(Token, ReplyTo, S,
                            fun () ->
                                do_put(Field, Value, ReplyTo, S)
                            end),
      {noreply, S1, S1#state.timeout};
  
negative.code: -type user_attr() :: [{binary(), binary()}].
  % An 'internal' token is also used by internal consumers, but never stored.
  -type token() :: 'null' | binary().
  -type tokentype() :: 'read' | 'write'.
  -type replyto() :: {pid(), reference()}.
  
  -record(tagcontent, {id :: binary(),
  