code: func (vector *BitVector) Append(bit byte) {
  	index := uint32(vector.length)
  	vector.length++
  
  	if vector.bytesLength() > len(vector.data) {
  		vector.data = append(vector.data, 0)
  	}
  
  	byteIndex := index >> 3
  	byteOffset := index % 8
  	oldByte := vector.data[byteIndex]
  	var newByte byte
  	if bit == 1 {
  		newByte = oldByte | 1<<byteOffset
  	} else {
  		// Set all bits except the byteOffset
  		mask := byte(^(1 << byteOffset))
  		newByte = oldByte & mask
  	}
  
  	vector.data[byteIndex] = newByte
  }
docs: // Append adds a bit to the end of a bit vector.