Можешь объяснить, что делает корутин-билдер `runBlocking` и описать подходящие случаи использования и контексты, где его стоит или не стоит применять при разработке на Kotlin? — ДейлиПреп