function Blend.Single(a)return Observable.new(function(f)local B=Maid.new()B:GiveTask(a:Subscribe(function(a)if Brio.isBrio(a)then local l=BrioUtils.clone(a)B._current=l f:Fire(l)return l end local l=Brio.new(a)B._current=l f:Fire(l)return l end))return B end)end

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

		maid:GiveTask(observable:Subscribe(function(result)
			if Brio.isBrio(result) then
				local copy = BrioUtils.clone(result)
				maid._current = copy
				sub:Fire(copy)
				return copy
			end

			local current = Brio.new(result)
			maid._current = current
			sub:Fire(current)

			return current
		end))

		return maid
	end)
end
