code: func (ba *bitArray) SetBit(k uint64) error {
  	if k >= ba.Capacity() {
  		return OutOfRangeError(k)
  	}
  
  	if !ba.anyset {
  		ba.lowest = k
  		ba.highest = k
  		ba.anyset = true
  	} else {
  		if k < ba.lowest {
  			ba.lowest = k
  		} else if k > ba.highest {
  			ba.highest = k
  		}
  	}
  
  	i, pos := getIndexAndRemainder(k)
  	ba.blocks[i] = ba.blocks[i].insert(pos)
  	return nil
  }
docs: // SetBit sets a bit at the given index to true.