http://www.youtube.com/watch?v=Mj5P47F6nJg&t=19m50s
"Because it looks like a keyword in other languages. But in fact what it does it calls a function and passes it a lambda and this function is some later time executes this lambda."
repeat, launch, retry functions that look like
launch {
delay(200)
}
can be re-written as
val lambda: suspend Coroutine.() -> Unit = { delay(200) }
launch(block = lambda)