function BrioUtils.withOtherValues(I,...)assert(I,"\066\097\100 \098\114\105\111")if I:IsDead()then return Brio.DEAD end local b=Brio.new(...);(b:ToMaid()):GiveTask((I:GetDiedSignal()):Connect(function()b:Kill()end))return b end
--[=[
	Clones a brio, such that it may be killed without affecting the original
	brio.

	@since 3.6.0
	@param brio Brio<T>
	@param ... U
	@return Brio<U>
]=]
function BrioUtils.withOtherValues(brio, ...)
	assert(brio, "Bad brio")

	if brio:IsDead() then
		return Brio.DEAD
	end

	local newBrio = Brio.new(...)

	newBrio:ToMaid():GiveTask(brio:GetDiedSignal():Connect(function()
		newBrio:Kill()
	end))

	return newBrio
end
