anchor.diff:  		      gen_server:call(Name, {insert, Key, {ok, Val}},
   				      ?CALL_TIMEOUT)
   	      end, Nodes)
  +    end.
  +
  +-spec insert_new(atom(), any(), any()) -> boolean().
  +insert_new(Name, Key, Val) ->
  +    insert_new(Name, Key, Val, [node()]).
  +
  +insert_new(Name, Key, Val, Nodes) ->
  +    case whereis(Name) of
  +	undefined -> false;
  +	_ ->
  +	    lists:foldl(
  +	      fun(Node, Result) when Node /= node() ->
  +		      send({Name, Node}, {insert_new, Key, {ok, Val}}),
  +		      Result;
  +		 (_MyNode, _) ->
  +		      gen_server:call(Name, {insert_new, Key, {ok, Val}},
  +				      ?CALL_TIMEOUT)
  +	      end, false, Nodes)
       end.
   
   -spec lookup(atom(), any()) -> {ok, any()} | error.
  
positive.code: 
  %% API
  -export([new/1, new/2, start_link/2, delete/1, delete/2, delete/3,
  	 lookup/2, lookup/3, insert/3, insert/4, clear/1, filter/2,
  	 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: handle_call({insert, Key, Val}, _From, State) ->
      do_insert(State, Key, Val),
      {reply, ok, State};
  handle_call({insert_new, Key, Val}, _From, State) ->
      {reply, do_insert_new(State, Key, Val), State};
  handle_call(_Request, _From, State) ->
      Reply = ok,
      {reply, Reply, State}.
  