code: func (r *AllocationBitmap) Allocate(offset int) (bool, error) {
  	r.lock.Lock()
  	defer r.lock.Unlock()
  
  	if r.allocated.Bit(offset) == 1 {
  		return false, nil
  	}
  	r.allocated = r.allocated.SetBit(r.allocated, offset, 1)
  	r.count++
  	return true, nil
  }
docs: // Allocate attempts to reserve the provided item.
  // Returns true if it was allocated, false if it was already in use