anchor.diff:  	{_, Value} -> Value;
   	_ -> erlang:error(badarg)
       end.
  +
  +-spec untag(term()) -> term().
  +untag({cache, Val}) -> Val;
  +untag({nocache, Val}) -> Val;
  +untag(Val) -> Val.
   
   load_nif() ->
       Path = p1_nif_utils:get_so_path(?MODULE, [?MODULE], atom_to_list(?MODULE)),
  
positive.code: 			 true
  		 end,
      if NeedUpdate ->
  	    NewVal = case UpdateFun() of
  			 ok -> Val;
  			 {ok, Val1} -> {ok, Val1};
  			 error -> error;
  			 {error, notfound} -> error;
  			 Other -> {error, Other}
  		     end,
  	    case NewVal of
  		{error, Reason} ->
  		    Reason;
  		_ ->
  		    lists:foreach(
  		      fun(Node) when Node /= node() ->
  			      send({Name, Node}, {delete, Key});
  
negative.code: %% API
  -export([new/1, new/2, start_link/2, delete/1, delete/2, delete/3,
  	 lookup/2, lookup/3, insert/3, insert/4, insert_new/3, insert_new/4,
  	 update/4, update/5, setopts/2, clear/1, clear/2, untag/1,
  	 clean/1, clean/2, filter/2, fold/3, all/0, info/1, info/2]).
  %% gen_server callbacks
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  