That is the actual reason why you cannot simply call suspending function from outside of coroutine. There are various different semantics that you might want to attach to this call and it is not clear which semantics shall be default in the language. It is also about being explicit, too. That’s Kotlin’s approach.