anchor.diff:  
   %% Internal functions
   
  -write(Type, Value, Next, Key, Table) ->
  -    [{_Key,V}] = ets:lookup(Table, Key),
  +write(Type, Value, Next, Key, Variables) ->
  +    [{_Key,V}] = ets:lookup(Variables, Key),
       Threads = V#dv.waiting_threads,
       BindingList = V#dv.binding_list,
       V1 = #dv{type=Type, value=Value, next=Next, lazy=false, bounded=true},
  -    true = ets:insert(Table, {Key, V1}),
  +    true = ets:insert(Variables, {Key, V1}),
       notify_all(BindingList, Value),
       reply_to_all(Threads, {ok, Value, Next}).
   
  
positive.code:                 [_H|_T] ->
                      {reply, ok, State};
                  _ ->
                      true = ets:insert(Table, {Id, V#dv{lazy=true, creator=From}}),
                      {noreply, State}
                  end
      end;
  
  handle_command({read, X}, From,
                 State=#state{table=Table}) ->
      [{_Key, V}] = ets:lookup(Table, X),
      Value = V#dv.value,
      Bounded = V#dv.bounded,
      Creator = V#dv.creator,
  
negative.code:     {reply, {ok, Pid}, State};
  
  handle_command({wait_needed, Id}, From,
                 State=#state{variables=Variables}) ->
      [{_Key, V}] = ets:lookup(Variables, Id),
      if
          V#dv.bounded == true ->
              {reply, ok, State};
  