dave08
fun <T> Iterable<T>.awaitAndCollect(asyncFun: () -> Deferred<T>) = map { Pair(it, asyncFun(it)) }.map { "${it.first = ${it.second.await()}" }