function Observable.Pipe(D,o)assert(type(o)=="\116\097\098\108\101","\066\097\100 \116\114\097\110\115\102\111\114\109\101\114\115")local Z=D for o,D in pairs(o)do assert(type(D)=="\102\117\110\099\116\105\111\110","\066\097\100 \116\114\097\110\115\102\111\114\109\101\114")Z=D(Z)assert(Observable.isObservable(Z))end return Z 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))
	end

	return current
end
