code: func checkIfAvailable(head *sequence, ordinal uint64) (uint64, uint64, error) {
  	bytePos, bitPos := ordinalToPos(ordinal)
  
  	// Find the sequence containing this byte
  	current, _, _, inBlockBytePos := findSequence(head, bytePos)
  	if current != nil {
  		// Check whether the bit corresponding to the ordinal address is unset
  		bitSel := blockFirstBit >> (inBlockBytePos*8 + bitPos)
  		if current.block&bitSel == 0 {
  			return bytePos, bitPos, nil
  		}
  	}
  
  	return invalidPos, invalidPos, ErrBitAllocated
  }
docs: // checkIfAvailable checks if the bit correspondent to the specified ordinal is unset
  // If the ordinal is beyond the sequence limits, a negative response is returned