anchor.diff:          _buffer[index >> 5] &= _CLR_MASK[index & 31];
         }
       } else {
  -      throw new RangeError.value(index);
  +      throw new RangeError.range(index, 0, length - 1);
       }
     }
   
  
positive.code:   }
  
    /**
     * Constucts a new list from a given [list] of booleans or [BitSet].
     */
    factory BitSet.fromList(List<bool> list) {
      var buffer = new Uint32List((list.length + 31) >> 5);
      for (int index = 0; index < list.length; index++) {
        if (list[index]) {
          buffer[index >> 5] |= _SET_MASK[index & 31];
        }
      }
      return new BitSet._(buffer, list.length);
  
negative.code:     if (0 <= index && index < length) {
        return (_buffer[index >> 5] & _SET_MASK[index & 31]) != 0;
      } else {
        throw new RangeError.range(index, 0, length - 1);
      }
    }
  
  