anchor.diff:      {ok, State}.
   
   
  -handle_call(get_worker, From, #state{waiting = Waiting, callers = Callers} = State) ->
  -    #state{url = Url, limit = Limit, busy = Busy, free = Free} = State,
  +handle_call(get_worker, From, State) ->
  +    #state{
  +        waiting = Waiting,
  +        callers = Callers,
  +        url = Url,
  +        limit = Limit,
  +        busy = Busy,
  +        free = Free
  +    } = State,
       case length(Busy) >= Limit of
       true ->
           {noreply, State#state{waiting = queue:in(From, Waiting)}};
  
positive.code:         {noreply, State}
     end.
  
  handle_info({'EXIT', Pid, _Reason}, #state{busy = Busy, free = Free, waiting = Waiting, callers = Callers} = State) ->
      demonitor_client(Callers, Pid),
      case Free -- [Pid] of
      Free ->
  
negative.code:     {stop, normal, ok, State}.
  
  
  handle_cast({release_worker, Worker}, State) ->
      #state{waiting = Waiting, callers = Callers} = State,
      demonitor_client(Callers, Worker),
      case is_process_alive(Worker) andalso
          lists:member(Worker, State#state.busy) of
  