anchor.diff:  -record(proc_int, {
       pid,
       lang,
  -    client = nil,
  +    client,
       ddoc_keys = [],
       prompt_fun,
       set_timeout_fun,
  
positive.code: find_proc(State, Client, []) ->
      {noreply, maybe_spawn_proc(State, Client)}.
  
  iter_procs(Tab, Lang, Fun, Acc) when is_list(Lang) ->
      iter_procs(Tab, list_to_binary(Lang), Fun, Acc);
  iter_procs(Tab, Lang, Fun, Acc) ->
      Pattern = #proc_int{lang=Lang, client=nil, _='_'},
      MSpec = [{Pattern, [], ['$_']}],
      case ets:select_reverse(Tab, MSpec, 25) of
          '$end_of_table' ->
              {not_found, Acc};
          Continuation ->
              iter_procs(Continuation, Fun, Acc)
      end.
  
  iter_procs({[], Continuation0}, Fun, Acc) ->
      case ets:select_reverse(Continuation0) of
          '$end_of_table' ->
              {not_found, Acc};
          Continuation1 ->
              iter_procs(Continuation1, Fun, Acc)
      end;
  iter_procs({[Proc | Rest], Continuation}, Fun, Acc0) ->
      case Fun(Proc, Acc0) of
          {ok, Acc1} ->
              iter_procs({Rest, Continuation}, Fun, Acc1);
          {stop, Acc1} ->
              {ok, Acc1}
      end.
  
  new_proc(#client{ddoc=undefined, ddoc_key=undefined}=Client) ->
      #client{from=From, lang=Lang} = Client,
      case new_proc_int(From, Lang) of
      {ok, Proc} ->
          exit({ok, Proc, From});
      Error ->
          gen_server:reply(From, {error, Error})
      end;
  
  new_proc(Client) ->
      #client{from=From, lang=Lang, ddoc=DDoc, ddoc_key=DDocKey} = Client,
      case new_proc_int(From, Lang) of
      {ok, NewProc} ->
          case proc_with_ddoc(DDoc, DDocKey, [NewProc]) of
          {ok, Proc} ->
              exit({ok, Proc, From});
          {error, Reason} ->
              gen_server:reply(From, {error, Reason})
          end;
      Error ->
          gen_server:reply(From, {error, Error})
      end.
  
  new_proc_int(From, Lang) when is_binary(Lang) ->
      new_proc_int(From, binary_to_list(Lang));
  new_proc_int(From, Lang) when is_list(Lang) ->
      case config:get("query_servers", Lang) of
      undefined ->
          case config:get("native_query_servers", Lang) of
          undefined ->
              gen_server:reply(From, {unknown_query_language, Lang});
          SpecStr ->
  
negative.code: 
  -include_lib("couch/include/couch_db.hrl").
  
  -define(PROCS, couch_proc_manager_procs).
  -define(WAITERS, couch_proc_manager_waiters).
  -define(OPENING, couch_proc_manager_opening).
  
  -record(state, {
      config,
      counts,
      threshold_ts,
      hard_limit,
      soft_limit
  }).
  
  -record(client, {
  