function Rx.merge(c)assert(type(c)=="\116\097\098\108\101","\066\097\100 \111\098\115\101\114\118\097\098\108\101\115")for c,u in pairs(c)do assert(Observable.isObservable(u),"\078\111\116 \097\110 \111\098\115\101\114\118\097\098\108\101")end return Observable.new(function(u)local p=Maid.new()for c,K in pairs(c)do p:GiveTask(K:Subscribe(u:GetFireFailComplete()))end return p end)end

function Rx.merge(observables)
	assert(type(observables) == "table", "Bad observables")

	for _, item in pairs(observables) do
		assert(Observable.isObservable(item), "Not an observable")
	end

	return Observable.new(function(sub)
		local maid = Maid.new()

		for _, observable in pairs(observables) do
			maid:GiveTask(observable:Subscribe(sub:GetFireFailComplete()))
		end

		return maid
	end)
end
