anchor.diff:          yield tv;
         }
       }
  -    isolate.kill();
  +    _isolate.kill();
       final done = await isolateExit.first;
       await isolateExit.close();
  +  }
  +
  +  /// See the documentation for IsolateStream.kill(int).
  +  void kill(int priority) {
  +    if (priority == null) {
  +      priority = Isolate.beforeNextEvent;
  +    }
  +    _killedWith = priority;
  +    // Record the priority in case _isolate is null -- see _generate().
  +    if (_isolate != null) {
  +      _isolate.kill(priority: priority);
  +    }
     }
   
     /// Initialize our run inside the isolate.
  
positive.code:   final isolateExit = ReceivePort();
    final isolateResults = ReceivePort();
    final ackPortGetter = ReceivePort();
  
    _IsolateStreamGenerator(A _generatorArg, int Function(T) _sizeOf, int maxBuf)
        : this._raw(_generatorArg, _sizeOf,
  
negative.code: ///  generating function, if needed, so that the Send/ReceivePort buffer
  ///  doesn't get overly large.
  class IsolateStream<T, A> extends DelegatingStream<T> {
    final _IsolateStreamGenerator<T, A> _isolateManager;
  
    /// Create a new stream with the given generating function, which
    /// takes an argument of type A, and produces an Iterator<T>.
    /// function should give an estimate of the size of an object of type T,
  