anchor.diff:     */
     bool get isDestroyed {
       var scope = this;
  -    var root = rootScope;
       while(scope != null) {
  -      if (scope == root) {
  -        return false;
  -      }
  +      if (scope == rootScope) return false;
         scope = scope._parentScope;
       }
       return true;
  
positive.code:   Scope _currentScope;
  
    /**
     * true or false depending on if stopPropagation() was executed.
     */
    bool get propagationStopped => _propagationStopped;
    bool _propagationStopped = false;
  
    /**
     * true or false depending on if preventDefault() was executed.
     */
    bool get defaultPrevented => _defaultPrevented;
    bool _defaultPrevented = false;
  
    /**
     ** [name] - The name of the scope event.
     ** [targetScope] - The destination scope that is listening on the event.
     */
    ScopeEvent(this.name, this.targetScope, this.data);
  
  
negative.code:         };
        } else if (expression.startsWith(':')) {
          expression = expression.substring(1);
          fn = (value, last) => value == null ? null : reactionFn(value, last);
        }
        ast = rootScope._astParser(expression, context: context, filters: filters);
      } else {
  