Coroutine has two types. Stackful and Stackless. And Kotlin coroutine is stackless coroutine.
On the other hand, once a method gets called it is stacked on the memory. And we can do recursive calling with method.
And in Kotlin, all I need to do is adding suspend keyword for the methods that are called in coroutine context.
It doesn't have a stack, then how does it work?
What I am guessing is, since coroutine Object belongs to a certain thread, the thread have them. Let's say, yes it is. Then how does it work under the hood?