perhaps the easiest tl;dr is to try:
http://syzygy.st/javascript-coroutines/#demo
but as for an explanation: it turns out coroutines let you "invert" memory/variable state into control/flow state!
but as for an explanation: it turns out coroutines let you "invert" memory/variable state into control/flow state!