anchor.diff:                                                 count = K}
                                        = S) ->
       TPid = accept(Ref, Pid, S),
  -    {reply, {ok, TPid}, S#listener{pending = {N-1,Q},
  -                                   count = K+1}};
  +    {reply, {ok, TPid}, downgrade(S#listener{pending = {N-1,Q},
  +                                             count = K+1})};
   
   handle_call(_, _, State) ->
       {reply, nok, State}.
  
positive.code: %% queue or spawned and placed in the first queue. Thus, there are
  %% only elements in one queue at a time, so share an ets table queue
  %% and tag it with a positive length if it contains the first queue, a
  %% negative length if it contains the second queue.
  
  %% ---------------------------------------------------------------------------
  %% # start/3
  
negative.code:     handle_info(T, upgrade(S));
  
  handle_info(T, #listener{} = S) ->
      {noreply, downgrade(#listener{} = l(T,S))}.
  
  %% upgrade/1
  
  