anchor.diff:      var buffer2 = new List();
   
       // handler for new event being added to the list on the left
  -    void handleNewEvent(List left, List right, dynamic newValue) {
  +    void handleNewValue(List left, List right, dynamic newValue) {
         left.add(newValue);
   
         if (right.isEmpty) {
  
positive.code: 
      var acc = seed;
  
      void handleNewEvent(x) {
        _tryRun(() {
          acc = accumulator(acc, x);
          _tryAdd(controller, acc);
        }, onError);
      }
  
      input.listen(handleNewEvent,
                   onError : onError,
                   onDone  : () => _tryClose(controller));
  
  
negative.code: 
      stream1.listen((x) {
          item1 = x;
          handleNewValue();
        },
        onError : onError,
        onDone  : completer1.complete);
      stream2.listen((x) {
          item2 = x;
          handleNewValue();
        },
        onError : onError,
        onDone  : completer2.complete);
  