anchor.diff:     * and may be used to add details about the mismatch that are too
      * costly to determine in [describeMismatch].
      */
  -  bool matches(item, MatchState matchState);
  +  abstract bool matches(item, MatchState matchState);
   
     /** This builds a textual description of the matcher. */
  -  Description describe(Description description);
  +  abstract Description describe(Description description);
   
     /**
      * This builds a textual description of a specific mismatch. [item]
  
positive.code:    * these to create a detailed error message (typically by calling
     * an [ErrorFormatter]) and then call [fail] with this message.
     */
    void failMatch(actual, Matcher matcher, String reason,
                   MatchState matchState, bool verbose);
  }
  
  
negative.code:    * information that is not typically included but can be of help in
     * diagnosing failures, such as stack traces.
     */
    abstract Description describeMismatch(item, Description mismatchDescription,
        MatchState matchState, bool verbose);
  }
  
  