anchor.diff:    int count([bool expected = true]) {
       int tally = 0;
       for (var index = 0; index < _length; index++) {
  -      var actual = (_buffer[index >> 5] & _SET_MASK[index & 31]) != 0;
  +      var actual = (_buffer[index >> _SHIFT] & _SET_MASK[index & _OFFSET]) != 0;
         if (actual == expected) {
           tally++;
         }
  
positive.code:   void operator []= (int index, bool value) {
      if (0 <= index && index < length) {
        if (value) {
          _buffer[index >> 5] |= _SET_MASK[index & 31];
        } else {
          _buffer[index >> 5] &= _CLR_MASK[index & 31];
        }
      } else {
        throw new RangeError.range(index, 0, length);
  
negative.code:    * Constructs a bit list of the given [length].
     */
    factory BitList(int length) {
      return new BitList._(new Uint32List((length + _OFFSET) >> _SHIFT), length);
    }
  
    /**
     * Constucts a new list from a given [BitList] or list of booleans.
     */
    factory BitList.fromList(List<bool> list) {
      var buffer = new Uint32List((list.length + _OFFSET) >> _SHIFT);
      if (list is BitList) {
        buffer.setAll(0, list._buffer);
      } else {
        for (var index = 0; index < list.length; index++) {
          if (list[index]) {
            buffer[index >> _SHIFT] |= _SET_MASK[index & _OFFSET];
          }
        }
      }
  