A fast producer feeds a slow collector through `buffer(capacity = 2)`. Once the buffer is full, what happens to the producer's next `emit`, and through what concurrency primitive is this realized?
flow {
repeat(5) { emit(it); println("emitted $it") }
}.buffer(2).collect {
delay(100)
println("collected $it")
}