anchor.diff:      assert(_built != null);
       assert(root != null);
       _built.detachRoot();
  +  }
  +
  +  Inherited inheritedOfType(Type targetType) {
  +    Widget ancestor = parent;
  +    while (ancestor != null && ancestor.runtimeType != targetType)
  +      ancestor = ancestor.parent;
  +    return ancestor;
     }
   
     bool _retainStatefulNodeIfPossible(Widget old) {
  
positive.code:   void didMount() {
      assert(!_disqualifiedFromEverAppearingAgain);
      super.didMount();
    }
  
    // TODO(jackson): When Dart supports super in mixins we can move to _Heir
    void setParent(Widget parent) {
      _updateTraitsFromParent(parent);
      super.setParent(parent);
    }
  
    void remove() {
  
negative.code:   final ParentData parentData;
  }
  
  abstract class Inherited extends TagNode {
    Inherited({ String key, Widget child }) : super._withKey(child, key);
  }
  
  typedef void GestureEventListener(sky.GestureEvent e);
  