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