anchor.diff:        assert(_semantics != null || parent is! RenderObject);
         final _SemanticsFragment fragment = _getSemanticsFragment(mergeIntoParent: _semantics?.parent?.isPartOfNodeMerging ?? false);
         assert(fragment is _InterestingSemanticsFragment);
  -      final SemanticsNode node = fragment.compile(parentSemantics: _semantics?.parent).single;
  +      final SemanticsNode node = fragment.compile().single;
         assert(node != null);
         assert(!node.isInvisible);
         assert(node == _semantics);
  
positive.code:       yield* child.compile(
          geometry: new _SemanticsGeometry.copy(geometry),
          currentSemantics: null,
          parentSemantics: parentSemantics
        );
      }
    }
  
negative.code:     node.mergeAllDescendantsIntoThisNode = _mergesAllDescendants;
      if (geometry != null) {
        geometry.applyAncestorChain(_ancestorChain);
        geometry.updateSemanticsNode(rendering: renderObjectOwner, semantics: node);
      } else {
        assert(_ancestorChain.length == 1);
      }
  