anchor.diff:    void destroy() {}
   
     void _transitionState(String from, String to) {
  +    assert(isAttached);
       if (_state != from) throw "$_state already in progress can not enter $to.";
       _state = to;
     }
  
positive.code:     }
    }
  
    ScopeEvent emit(String name, [data]) => _Streams.emit(this, name, data);
    ScopeEvent broadcast(String name, [data]) =>
        _Streams.broadcast(this, name, data);
    ScopeStream on(String name) =>
        _Streams.on(this, rootScope._exceptionHandler, name);
  
    Scope createChild(Object childContext) {
      var child = new Scope(childContext, rootScope, this,
                            _depth + 1, _nextChildIndex++,
                            _readWriteGroup.newGroup(childContext),
  
negative.code:   }
  
    void destroy() {
      assert(isAttached);
      broadcast(ScopeEvent.DESTROY);
      _Streams.destroy(this);
  
      var prev = _prev;
      var next = _next;
      if (prev == null) {
  