anchor.diff:      handle_info(T, upgrade(S));
   
   handle_info(T, #listener{} = S) ->
  -    {noreply, #listener{} = l(T,S)}.
  +    {noreply, downgrade(#listener{} = l(T,S))}.
   
   %% upgrade/1
   
  
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:                                                count = K}
                                       = S) ->
      TPid = accept(Ref, Pid, S),
      {reply, {ok, TPid}, downgrade(S#listener{pending = {N-1,Q},
                                               count = K+1})};
  
  handle_call(_, _, State) ->
      {reply, nok, State}.
  