public function withBit(int $ordinal, bool $bit): self
    {
        $clone = clone $this;
        $clone->setBit($ordinal, $bit);
        return $clone;
    }
public function withBit(int $ordinal, bool $bit): self
    {
        $clone = clone $this;
        $clone->setBit($ordinal, $bit);
        return $clone;
    }
public function withBit ( int $ ordinal , bool $ bit ) : self { $ clone = clone $ this ; $ clone -> setBit ( $ ordinal , $ bit ) ; return $ clone ; }
Create a new set with the bit at the given ordinal number set

@param int $ordinal Ordinal number of bit to set
@param bool $bit    The bit to set
@return static
@throws InvalidArgumentException If the given ordinal number is out-of-range
@uses doSetBitBin()
@uses doSetBitInt()
@uses doUnsetBitBin()
@uses doUnsetBitInt()
Create a new set with the bit at the given ordinal number set