$ luarocks install taggedcoro-purelua
Enriches coroutines to have an associated tag
(which can be any Lua value). A call to
coroutine.yield transfers control to the nearest
enclosing coroutine.resume with the same tag.
Resuming that coroutine transfers control back
to the call to coroutine.yield.