anchor.diff:      if (!nameFilter.matches(method, matchState)) {
         return false;
       }
  -    if (arguments.length < argMatchers.length) {
  +    var numArgs = (arguments == null) ? 0 : arguments.length;
  +    if (numArgs < argMatchers.length) {
         throw new Exception("Less arguments than matchers for $method.");
       }
       for (var i = 0; i < argMatchers.length; i++) {
  
positive.code:                             logFilter,
                              int distance,
                              bool includeKeys) {
      LogEntryList rtn = new LogEntryList();
  
      // Deal with the trivial case.
      if (logs.length == 0 || keys.logs.length == 0) {
  
negative.code:     if (frequency != _Frequency.SOME) {
        LogEntry entry = matchState.state['entry'];
        if (entry.action == Action.RETURN || entry.action == Action.PROXY) {
          mismatchDescription.add('returned');
        } else {
          mismatchDescription.add('threw');
        }
        mismatchDescription.add(' value that ');
        value.describeMismatch(entry.value, mismatchDescription,
          matchState.state['state'], verbose);
        mismatchDescription.add(' at least once');
  