anchor.diff:  %% 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,
  +	 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,
  
positive.code: 	{_, Value} -> Value;
  	_ -> erlang:error(badarg)
      end.
  
  load_nif() ->
      Path = p1_nif_utils:get_so_path(?MODULE, [?MODULE], atom_to_list(?MODULE)),
  
negative.code: 			 true
  		 end,
      if NeedUpdate ->
  	    case case UpdateFun() of
  		     ok -> {cache, Val};
  		     {ok, _} = Ret -> {cache, Ret};
  		     error -> {cache, error};
  		     {error, notfound} -> {cache, error};
  		     {cache, _} = Ret -> Ret;
  		     {nocache, _} = Ret -> Ret;
  		     Other -> {nocache, Other}
  		 end of
  		{nocache, NewVal} ->
  		    NewVal;
  		{cache, NewVal} ->
  		    lists:foreach(
  		      fun(Node) when Node /= node() ->
  			      send({Name, Node}, {delete, Key});
  