anchor.diff:  %%%===================================================================
   init([Name, Opts]) ->
       process_flag(trap_exit, true),
  -    ets:new(Name, [named_table, public, {read_concurrency, true}]),
  +    Type = proplists:get_value(type, Opts, set),
  +    ets:new(Name, [named_table, public, {read_concurrency, true}, Type]),
       Counter = new_counter(),
       TRef = start_clean_timer(),
       State = #state{tab = Name, clean_timer = TRef},
  
positive.code: -behaviour(gen_server).
  
  %% 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, incr/3, incr/4, 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,
  	 terminate/2, code_change/3]).
  
negative.code: 	    false
      end.
  
  -spec ets_match_delete(atom(), any()) -> boolean().
  ets_match_delete(Tab, Match) ->
      try
  	incr_counter(Tab),
  	ets:match_delete(Tab, {Match, '_', '_'})
      catch _:badarg ->
  	    false;
  	  _:{badmatch, undefined} ->
  	    false
      end.
  
  -spec ets_delete_object(atom(), any()) -> boolean().
  ets_delete_object(Tab, Obj) ->
      try
  