Maybe an AsyncBufferSequence with a new AsyncBufferSequencePolicy that supports coalescing?
let pendingRequests = requests.buffer(policy: .coalescing({ (existing, new) in
return merge(existing, new)
}))
Or just a new AsyncCoalescingSequence? ![]()
let pendingRequests = requests.coalesced { (existing, new) in
return merge(existing, new)
}