anchor.diff:      if (suggestion != null && !usedNames.contains(suggestion)) {
         freshName = suggestion;
       } else {
  -      freshName = _getUnusedName(proposedName, usedNames);
  +      freshName = _getUnusedName(proposedName, usedNames,
  +          suggestedNames.values);
       }
       usedNames.add(freshName);
       return freshName;
  
positive.code:     // in a predictable order determined by the proposed name.  This is in order
      // to make the renamer stable: small changes in the input should nornally
      // result in relatively small changes in the output.
      for (var n = 2; n <= 3; n++) {
        int h = hash;
        while (h > 10) {
          var codes = <int>[_letterNumber(h)];
  
negative.code:         suggestedInstanceNames,
          usedInstanceNames,
          const <String>[
              r'$add', r'add$1', r'$and',
              r'$or',
              r'current', r'$shr', r'$eq', r'$ne',
              r'$index', r'$indexSet',
              r'$xor', r'clone$0',
              r'iterator', r'length',
              r'$lt', r'$gt', r'$le', r'$ge',
              r'moveNext$0', r'node', r'on', r'$negate', r'push', r'self',
              r'start', r'target', r'$shl', r'value', r'width', r'style',
              r'noSuchMethod$1', r'$mul', r'$div', r'$sub', r'$not', r'$mod',
              r'$tdiv', r'toString$0']);
  
      _populateSuggestedNames(
          suggestedGlobalNames,
  