anchor.diff:          // Clean up things when the worker exits, and retry running the work
           // queue in case there is more work to be done.
           worker.exitCode.then((_) {
  -          _allWorkers.remove(worker);
  +          _readyWorkers.remove(worker);
             _runWorkQueue();
           });
         });
  
positive.code:         // Note that whenever we spawn a worker we listen for its exit code
          // and clean it up so we don't need to do that here.
          var worker = _idleWorkers.removeLast();
          _allWorkers.remove(worker);
          worker.kill();
        }
      } catch (e, s) {
  
negative.code:   final int _maxWorkers;
  
    /// The number of currently active workers.
    int get _numWorkers => _readyWorkers.length + _spawningWorkers.length;
  
    /// Idle worker processes.
    final _idleWorkers = <Process>[];
  
    /// All workers that are fully spawned and ready to handle work.
    final _readyWorkers = <Process>[];
  
    /// All workers that are in the process of being spawned.
    final _spawningWorkers = <Future<Process>>[];
  
    /// Work requests that haven't been started yet.
    final _workQueue = new Queue<WorkRequest>();
  