[Pitch] AsyncStream and AsyncThrowingStream

Has a protocol-based design been explored? Experience with the lazy collection types has informed me that concrete types which customise their logic via closures are several times slower than copy-pasting the type and writing a manual specialisation.