anchor.diff:    final NullabilityNode _expectation;
   
     _ExactNodeMatcher(this._expectation);
  +
  +  @override
  +  void matched(NullabilityNode node) {}
   
     @override
     bool matches(NullabilityNode node) => node == _expectation;
  
positive.code:   List<NullabilityEdge> getEdges(Object source, Object destination) {
      var sourceMatcher = NodeMatcher(source);
      var destinationMatcher = NodeMatcher(destination);
      return graph
          .getAllEdges()
          .where((e) =>
              sourceMatcher.matches(e.sourceNode) &&
              destinationMatcher.matches(e.destinationNode))
          .toList();
    }
  
    /// Creates a [NodeMatcher] matching a substitution node whose inner and outer
  
negative.code:         'Unclear how to match node expectation of type ${expectation.runtimeType}');
    }
  
    void matched(NullabilityNode node);
  
    bool matches(NullabilityNode node);
  }
  
  