anchor.diff:    void _filterWhere(bool test(E element), bool removeMatching) {
       int length = _buckets.length;
       for (int index = 0; index < length; index++) {
  -      _HashSetEntry entry = _buckets[index];
  -      _HashSetEntry previous = null;
  +      _HashSetEntry<E> entry = _buckets[index];
  +      _HashSetEntry<E> previous = null;
         while (entry != null) {
           int modificationCount = _modificationCount;
           bool testResult = test(entry.key);
  
positive.code:   }
  
    V operator [](Object key) {
      int hashCode = identityHashCode(key);
      List buckets = _buckets;
      int index = hashCode & (buckets.length - 1);
      _HashMapEntry entry = buckets[index];
      while (entry != null) {
        if (hashCode == entry.hashCode && identical(entry.key, key)) {
          return entry.value;
  
negative.code: 
  class _IdentityHashMap<K, V> extends _HashMap<K, V> {
    bool containsKey(Object key) {
      final hashCode = identityHashCode(key);
      final buckets = _buckets;
      final index = hashCode & (buckets.length - 1);
      var entry = buckets[index];
      while (entry != null) {
        if (hashCode == entry.hashCode && identical(entry.key, key)) return true;
        entry = entry.next;
  