It is mandatory to make the coroutine context explicit. This is general Kotlin’s policy. In C#, for example, the context is implicit and is thread local, so your invocation from a UI thread implicitly uses UI context. This cause a lot of pain for library writers (google for advise on
ConfigureAwait(False)
in C#)