anchor.diff:    void handleError(error, EventSink<Response> sink, Trace trace) {
       trace.record(new UserCallbackQueuedEvent());
       _openCallbacks++;
  -    _runZonedWithOnDone(() => sink.addError(error), () {
  +    _runZonedWithOnDone(() {
  +      sink.addError(error);
  +    }, () {
         trace.record(new UserCallbackDoneEvent());
         _openCallbacks--;
         if (_openCallbacks == 0 && _closed && !_sentDone) {
  
positive.code:   // Initial count is 1 due to running 'fn'. This makes it work out
    // nicely if 'fn' itself throws an Exception.
    var asyncCount = 1;
  
    var zoneSpec = new ZoneSpecification(
      scheduleMicrotask: (Zone _, ZoneDelegate parent, Zone zone, f()) {
        asyncCount++;
        parent.scheduleMicrotask(zone, () {
          trace.record(new UserCallbackAsyncEnterEvent());
  
negative.code:     if (response.authority == Authority.PRIMARY) {
        sink.close();
      }
    }
  
    void handleError(error, EventSink<Response> sink, Trace trace) {
      sink.addError(error);
      sink.close();
    }
  }
  
  