anchor.diff:      notify_all(BindingList, Value),
       reply_to_all(Threads, {ok, Value, Next}).
   
  -next_key(NextKey0, Clock, Partition, Table) ->
  +next_key(NextKey0, Clock, Partition) ->
       if
           NextKey0 == undefined ->
               NextClock = get_next_key(Clock, Partition),
               NextKey = {NextClock, Partition},
  -            declare_by_id(NextKey, Table);
  +            declare(NextKey);
           true ->
               NextClock = Clock,
               NextKey = NextKey0
  
positive.code:         true ->
              Next = Clock + 1,
              NextKey = {Next, Partition},
              declare_by_id(NextKey, Table),
              V1 = V#dv{next=NextKey},
              true = ets:insert(Table, {X, V1}),
              if
  
negative.code: handle_command({bind, Id, Fun, Arg}, _From,
                 State=#state{partition=Partition, table=Table}) ->
      [{_Key, V}] = ets:lookup(Table, Id),
      {NextClock, NextKey} = next_key(V#dv.next, State#state.clock, Partition),
      execute_and_put(Fun, Arg, NextKey, Id, Table),
      {reply, {ok, NextKey}, State#state{clock=NextClock}};
  
  