anchor.diff:  
       var acc = seed;
   
  -    void handleNewEvent(x) {
  +    void handleNewValue(x) {
         _tryRun(() {
           acc = accumulator(acc, x);
           _tryAdd(controller, acc);
         }, onError);
       }
   
  -    input.listen(handleNewEvent,
  +    input.listen(handleNewValue,
                    onError : onError,
                    onDone  : () => _tryClose(controller));
   
  
positive.code:     var completer = new Completer();
      var onError   = closeOnError ? (err) => completer.completeError(err) : (_) {};
  
      void handleNewEvent(x) => _tryRun(() {
        var newVal = map(x);
        sum += newVal;
        count++;
      }, onError);
  
      input.listen(handleNewEvent,
                   onError : onError,
                   onDone  : () {
                     if (!completer.isCompleted) completer.complete(sum / count);
  
negative.code: 
      stream1.listen((x) {
          item1 = x;
          handleNewValue();
        },
        onError : onError,
        onDone  : completer1.complete);
      stream2.listen((x) {
          item2 = x;
          handleNewValue();
        },
        onError : onError,
        onDone  : completer2.complete);
  