One of the key concepts of coroutines in Kotlin is that a suspend function must be called from a coroutine or another suspend function.
However, a suspend function can call any kind of function, suspend or normal.
What is the consequence of that? (This is not a real scenario i have, just want to know for theoretical reasons)
I imagine that in that scenario the only point of creating a coroutine would be to change the context (thread) before calling it, so it doesn´t block the main thread. However, would all the other advantages of coroutines be lost? (cooperative cancellation, structured concurrency...)
withContextbecause of the non suspending method has relations to the UI - coroutineDispatcher