Mistakes with AsyncStreams and iterating them is something you can easily run into. For example, when you end up (unknowingly) iterating the same AsyncStream twice you'll see that both iterations receive different messages. That's because AsyncStream doesn't support multiple iterators out of the box.
Learn about this and much more in Practical Swift Concurrency: https://gumroad.com/l/practical-swift-concurrency
