AsyncStream does support the creation of multiple iterators and it does handle multiple consumers correctly. On the other hand, AsyncThrowingStream also supports multiple iterators but does fatalError when more than one iterator has to suspend. The original proposal states: As with any sequence, iterating over an AsyncStream multiple times, or creating multiple iterators and iterating over them separately, may produce an unexpected series of values.
(edited)AsyncStream
(non throwing) の方は handle correctly と書いてあって、そこに on the other hand と続くし。throwingの方はcorrectlyじゃなさそう。 (edited)