anchor.diff:    void syncRenderObject(MultiChildRenderObjectWrapper old) {
       super.syncRenderObject(old);
   
  -    final renderObject = this.renderObject; // TODO(ianh): Remove this once the analyzer is cleverer
  -    if (renderObject is! ContainerRenderObjectMixin)
  -      return;
  +    final ContainerRenderObjectMixin renderObject = this.renderObject; // TODO(ianh): Remove this once the analyzer is cleverer
  +    assert(renderObject is ContainerRenderObjectMixin);
  +    assert(old == null || old.renderObject == renderObject);
   
       var startIndex = 0;
       var endIndex = children.length;
  
positive.code:       if (_ancestor is RenderObjectWrapper)
          _ancestor.insertChildRoot(this, slot);
      } else {
        assert(old is RenderObjectWrapper);
        _renderObject = old.renderObject;
        _ancestor = old._ancestor;
        assert(_renderObject != null);
  
negative.code:   }
  }
  
  // RenderObjectWrappers correspond to a desired state of a
  // RenderObject. They are fully immutable, except that a Widget which
  // is a Component which lives within a RenderObjectWrapper's children
  // list may be in-place replaced with the "old" instance if it has
  // become stateful.
  abstract class RenderObjectWrapper extends Widget {
  
  