We can do quite a bit with AsyncSequences, AsyncStreams, and the async APIs that we could do with Combine. As has been noted, one of the things we can't easily do is regulate flow.
I apologize if this has been asked before, but I'm not looking for a general solution, I'm asking if it might make sense to have a version of URLSession's asynchronous data(from) and friends that includes values for throttle, debounce, and removeDuplicates?
func data(from url: [URL], delegate: [URLSessionTaskDelegate? = nil, throttle throttleInterval: S.SchedulerTimeType.Stride = 0, debounce dueTime: S.SchedulerTimeType.Stride = 0, removeDuplicates: Bool = false ) async throws -> ([Data]