anchor.diff:    final bool _isolate;
     final bool _lazy;
     final Profiler _perf;
  +
  +  /**
  +   * The direct parent scope that created this scope (this can also be the $rootScope)
  +   */
     final Scope $parent;
   
  +  /**
  +   * The auto-incremented ID of the scope
  +   */
     String $id;
  +
  +  /**
  +   * The topmost scope of the application (same as $rootScope).
  +   */
     Scope $root;
     num _nextId = 0;
     String _phase;
  
positive.code:   }
  
  
    $emit(name, [List args]) {
      var empty = [],
          namedListeners,
  
negative.code:   }
  
  
    /**
     * Evaluates the expression against the current scope and returns the result. Note that, the
     * expression data is relative to the data within the scope. Therefore an expression such as
     * `a + b` will deference variables `a` and `b` and return a result so long as `a` and `b`
     * exist on the scope.
     *
     * * [expr] - The expression that will be evaluated. This can be both a Function or a String.
     * * [locals] - An optional Map of key/value data that will override any matching scope members
     *   for the purposes of the evaluation.
     */
    $eval(expr, [locals]) {
      return relaxFnArgs(_compileToFn(expr))(locals == null ? this : new ScopeLocals(this, locals));
    }
  
  
    /**
     * Evaluates the expression against the current scope at a later point in time. The $evalAsync
     * operation may not get run right away (depending if an existing digest cycle is going on) and
     * may therefore be issued later on (by a follow-up digest cycle). Note that at least one digest
     * cycle will be performed after the expression is evaluated. However, If triggering an additional
     * digest cycle is not desired then this can be avoided by placing `{outsideDigest: true}` as
     * the 2nd parameter to the function.
     *
     * * [expr] - The expression that will be evaluated. This can be both a Function or a String.
     * * [outsideDigest] - Whether or not to trigger a follow-up digest after evaluation.
     */
    $evalAsync(expr, {outsideDigest: false}) {
      if (outsideDigest) {
        _outerAsyncQueue.add(expr);
  