anchor.diff:    /// Unlike `_runTick`, this enters a guarded mode that checks a view tree
     /// for exceptions, trying to find the leaf-most node that throws during
     /// change detection.
  -  void _runTickGuarded() {
  +  ///
  +  /// Returns whether an exception was caught.
  +  bool _runTickGuarded() {
       _runningTick = true;
   
       // For all ViewRefImpls (i.e. concrete AppViews), run change detection.
  
positive.code:     if (caughtException != null) {
        _exceptionHandler.call(caughtException, caughtStack);
        caughtException = caughtStack = null;
      }
    }
  
    @override
  
negative.code:     // Run the top-level 'tick' (i.e. detectChanges on root components).
      try {
        _runTick();
      } catch (e, s) {
        // A crash (uncaught exception) was found. That means at least one
        // directive in the application tree is throwing. We need to re-run
        // change detection to disable offending directives.
        if (!_runTickGuarded()) {
          // Propagate the original exception/stack upwards.
          _exceptionHandler.call(e, s, 'Tick');
        }
        // And re-throw.
        rethrow;
      } finally {
        // Tick is complete.
  