anchor.diff:    assertCompareInvariants(xml, copy);
   }
   
  +class DefaultVisitor with XmlVisitor {
  +  const DefaultVisitor();
  +}
  +
  +void assertVisitorInvariants(XmlNode xml) {
  +  final visitor = DefaultVisitor();
  +  for (final node in [xml, ...xml.descendants]) {
  +    expect(visitor.visit(node), isNull);
  +  }
  +}
  +
   void assertCompareInvariants(XmlNode original, XmlNode copy) {
     expect(original, isNot(same(copy)),
         reason: 'The copied node should not be identical.');
  
positive.code:   assertIteratorInvariants(xml);
    assertCopyInvariants(xml);
    assertTransformerInvariants(xml);
  }
  
  void assertDocumentInvariants(XmlNode xml) {
  
negative.code:   assertIteratorInvariants(xml);
    assertCopyInvariants(xml);
    assertTransformerInvariants(xml);
    assertVisitorInvariants(xml);
    assertPrintingInvariants(xml);
  }
  
  