anchor.diff:  
     const _TimesMatcher(this.min, [this.max = -1]);
   
  -  bool matches(log) => log.length >= min && (max < 0 || log.length <= max);
  +  bool matches(logList) => logList.length >= min &&
  +      (max < 0 || logList.length <= max);
   
     Description describe(Description description) {
       description.add(' to be called ');
  
positive.code: 
    const _ResultSetMatcher(this.action, this.value, this.frequency);
  
    bool matches(log) {
      for (LogEntry entry in log) {
        // normalize the action; PROXY is like RETURN.
        Action eaction = entry.action;
        if (eaction == Action.PROXY) {
  
negative.code:     return description.addDescriptionOf(value);
    }
  
    Description describeMismatch(logList, Description mismatchDescription) {
      if (frequency != _Frequency.SOME) {
        for (LogEntry entry in logList) {
          if (entry.action != action || !value.matches(entry.value)) {
            if (entry.action == Action.RETURN || entry.action == Action.PROXY)
              mismatchDescription.add('returned ');
  