anchor.diff:    /// 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);
  +    var buffer = new Uint32List((length + bitOffset) >> bitShift);
       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++) {
  +        for (var j = 0; j <= bitOffset && iterator.moveNext(); j++) {
             if (iterator.current) {
  -            value |= SET_MASK[j];
  +            value |= bitSetMask[j];
             }
           }
           buffer[i] = value;
  
positive.code:   /// Constructs a bit list of the given [length], and initializes the
    /// value at each position with [fill].
    factory BitList.filled(int length, bool fill) {
      var buffer = new Uint32List((length + OFFSET) >> SHIFT);
      if (fill) {
        buffer.fillRange(0, buffer.length, MASK);
      }
      return new BitList._(buffer, length);
    }
  
negative.code:     if (amount == 0 || length == 0) {
        return new BitList.from(this);
      }
      var shift = amount >> bitShift;
      var offset = amount & bitOffset;
      var result = new BitList(length);
      if (offset == 0) {
        for (var i = shift; i < buffer.length; i++) {
          result.buffer[i] = buffer[i - shift];
        }
      } else {
        var otherOffset = 1 + bitOffset - offset;
        for (var i = shift + 1; i < buffer.length; i++) {
          result.buffer[i] = ((buffer[i - shift] << offset) & bitMask) |
              ((buffer[i - shift - 1] >> otherOffset) & bitMask);
        }
        if (shift < buffer.length) {
          result.buffer[shift] = (buffer[0] << offset) & bitMask;
        }
      }
      return result;
  