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:    * information that is not typically included but can be of help in
     * diagnosing failures, such as stack traces.
     */
    Description describeMismatch(item, Description mismatchDescription,
        MatchState matchState, bool verbose);
  }
  
  
negative.code:  */
  abstract class FailureHandler {
    /** This handles failures given a textual decription */
    abstract void fail(String reason);
  
    /**
     * This handles failures given the actual [value], the [matcher]
  