julienviet
suspend fun <K, V> receive(channels : Map<K, ReceiveChannel<V>>) : Pair<K, V> { return select { channels.forEach { entry -> entry.value.onReceive { value -> Pair(entry.key, value) } } } }