Each of these are ordered in the usefulness/occurrence I have seen. This is a non-exhaustive collection of things I have gathered from either working with folks directly adopting AsyncSequence or discussions on the forums. There is definitely prior art for a number of these, so we have precedent on our side here. This isn't exactly a small list of things but it isn't really a huge list either I guess...
Combinators:
Emitting a tuple of values combined from N AsyncSequences where each emission awaits the combination to be distinct
Emitting a tuple of values combined from N AsyncSequences where each emission awaits for the most current update to be distinct
Emitting an AsyncSequence of values derived from when any of N AsyncSequences produce a value
Distributors:
Sending a value to an AsyncSequence where the send awaits the consumption.
Sharing the iteration in a safe manner across multiple consumers where each consumer gets a distinct value
Sharing the values from iteration among a known number of consumers
Composition:
Being able to take an AsyncSequence and flow that into a bit of logic that is written in imperative style. Given the analogy of structured versus unstructured concurrency - if unstructured concurrency is to UIKit constructed by hand as structured concurrency is like storyboards, then composition is the counterpart to declarative syntax like SwiftUI (specifically the body of Views).
Value Transformation:
The only one that really seems missing that I know of is .enumerated() which to be honest I am not sure if it is really used that much.
Ordering Transformation:
When dealing with emissions of emissions (read higher ordered items) it is useful to be able to switch to the latest thing that has emitted
Collecting values by limits is useful for buffering
Flattening a transformation is very useful. flatMap already exists in the non-concurrent variant, but perhaps a concurrency limited version would be useful
Temporal Transformation:
Debouncing values over a specific window of time is very useful
Throttling values over a specific window of time can be useful
Side note - from my exploration w.r.t. the Clock/Interval/Date/Duration proposal these two transformations need a clock and a duration since the reference point temporally is relative to the last value emitted.
Failure Transformation:
Concepts like catching or retrying in async sequences might be useful in the functional side of things however this would require some features not currently slated for work: namely typed throws or generic effects. These seem like reasonable cases where we could defer this type of work until it is more of an area of interest for the rest of Swift.
Performance:
Another area of interest is a batching accessor to AsyncSequence itself. AsyncBytes is quite fast, but I think we can make it even faster by building an "unsafe variant" accessor similar to the underscored APIs of Sequence.
General Async/Await:
There are a few needed parts to make those. Obviously the proposals I listed are some key players, but also there needs to be a couple of critical APIs to build these up.
Getting the first result from N running tasks