function Rx.start(g)return function(F)assert(Observable.isObservable(F),"\066\097\100 \111\098\115\101\114\118\097\098\108\101")return Observable.new(function(b)b:Fire(g())return F:Subscribe(b:GetFireFailComplete())end)end end
--[=[
	Starts the observable with the given value from the callback

	http://reactivex.io/documentation/operators/start.html

	@param callback function
	@return (source: Observable) -> Observable
]=]
function Rx.start(callback)
	return function(source)
		assert(Observable.isObservable(source), "Bad observable")

		return Observable.new(function(sub)
			sub:Fire(callback())

			return source:Subscribe(sub:GetFireFailComplete())
		end)
	end
end
