$ luarocks install taggedcoro       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.
    
Versions
Dependencies
lua >= 5.2