Lua's coroutine is great for its true stackless. Every normal function can be used in coroutine thread. But stackless means a full separate Lua stack should be maintained
for each coroutine, which may cause more garbage memory refered from the earlier
frames of these stacks will be kept. Considering the not-so-great GC in Lua, this