A usual definition of stackless is that “a coroutine can be suspended only in inside one function” and stackful is that “a coroutine can be suspended at arbitrarily deep call”. For Kotlin coroutines the later is true. If you use a different definition of stackless/stackfull, your answer will be different. It does not really matter, though, because stackless coroutines easily emulate stackfull.