suspend fun <T> withTimeout(block: suspend CoroutineScope.() -> T): T
Execute block and cancel if doesn't complete in time.