anchor.diff:      (a is String && b is String && a == b) ||
       (a is num && b is num && a.isNaN && b.isNaN);
   
  -  containsKey(String name) => this[name] != null;
  +  containsKey(String name) {
  +    for (var scope = this; scope != null; scope = scope.$parent) {
  +      if (scope._properties.containsKey(name)) {
  +        return true;
  +      } else if(scope._isolate) {
  +        break;
  +      }
  +    }
  +    return false;
  +  }
  +
     remove(String name) => this._properties.remove(name);
     operator []=(String name, value) => _properties[name] = value;
     operator [](String name) {
  -    if (name == r'$id') return this.$id;
  -    if (name == r'$parent') return this.$parent;
  -    if (name == r'$root') return this.$root;
  -    var scope = this;
  -    do {
  +    for (var scope = this; scope != null; scope = scope.$parent) {
         if (scope._properties.containsKey(name)) {
           return scope._properties[name];
  -      } else if (!scope._isolate) {
  -        scope = scope.$parent;
  -      } else {
  -        return null;
  -      }
  -    } while(scope != null);
  +      } else if(scope._isolate) {
  +        break;
  +      }
  +    }
       return null;
     }
   
  
positive.code:   bool _skipAutoDigest = false;
    bool _disabled = false;
  
    Scope(this._exceptionHandler, this._parser, ScopeDigestTTL ttl,
        this._zone, this._perf):
          $parent = null, _isolate = false, _lazy = false, _ttl = ttl.ttl {
      _properties[r'this']= this;
      $root = this;
      $id = '_${$root._nextId++}';
      _innerAsyncQueue = [];
  
negative.code:     // Set up the zone to auto digest this scope.
      _zone.onTurnDone = _autoDigestOnTurnDone;
      _zone.onError = (e, s, ls) => _exceptionHandler(e, s);
      _set$Properties();
    }
  
    Scope._child(Scope parent, bool this._isolate, bool this._lazy, Profiler this._perf):
        $parent = parent, _ttl = parent._ttl, _parser = parent._parser,
        _exceptionHandler = parent._exceptionHandler, _zone = parent._zone {
      $root = $parent.$root;
      $id = '_${$root._nextId++}';
      _innerAsyncQueue = $parent._innerAsyncQueue;
  