function PromiseUtils.fromSignal(v)local f=Promise.new()local q f:Finally(function()q:Disconnect()q=nil end)q=v:Connect(function(...)f:Resolve(...)end)return f end

function PromiseUtils.fromSignal(signal)
	local promise = Promise.new()
	local conn

	promise:Finally(function()
		conn:Disconnect()
		conn = nil
	end)

	conn = signal:Connect(function(...)
		promise:Resolve(...)
	end)

	return promise
end
