function Observable.Pipe(r,c)assert(type(c)=="\116\097\098\108\101","\066\097\100 \116\114\097\110\115\102\111\114\109\101\114\115")local p=r for c,r in pairs(c)do assert(type(r)=="\102\117\110\099\116\105\111\110","\066\097\100 \116\114\097\110\115\102\111\114\109\101\114")p=r(p)assert(Observable.isObservable(p),"\084\114\097\110\115\102\111\114\109\101\114 \109\117\115\116 \114\101\116\117\114\110 \097\110 \111\098\115\101\114\118\097\098\108\101")end return p end

function Observable:Pipe(transformers)
	assert(type(transformers) == "table", "Bad transformers")

	local current = self
	for _, transformer in pairs(transformers) do
		assert(type(transformer) == "function", "Bad transformer")
		current = transformer(current)
		assert(Observable.isObservable(current), "Transformer must return an observable")
	end

	return current
end
