anchor.diff:      return new BitList._(buffer, length);
     }
   
  +  /// Internal constructor for this object.
     BitList._(this.buffer, this.length);
   
     /// The underlying typed buffer of this object.
  
positive.code:   void operator []=(int index, bool value) {
      if (0 <= index && index < length) {
        if (value) {
          buffer[index >> _shift] |= _setMask[index & _offset];
        } else {
          buffer[index >> _shift] &= _clrMask[index & _offset];
        }
      } else {
        throw new RangeError.range(index, 0, length);
  
negative.code:   /// Constructs a new list from a given [Iterable] of booleans.
    factory BitList.from(Iterable<bool> other) {
      var length = other.length;
      var buffer = new Uint32List((length + OFFSET) >> SHIFT);
      if (other is BitList) {
        buffer.setAll(0, other.buffer);
      } else {
        for (var i = 0, iterator = other.iterator; i < buffer.length; i++) {
          var value = 0;
          for (var j = 0; j <= OFFSET && iterator.moveNext(); j++) {
            if (iterator.current) {
              value |= SET_MASK[j];
            }
          }
          buffer[i] = value;
  