for await? .. of

To shed a last bit of light on why you would do something like [2, 3, 4, NaN, -1, -2, -3, NaN, 5, 6, 7, NaN, -4, -5, -6], we're really talking about the core alogorithmic code for a JS-powered console. Consoles use multiplexing to keep track of the difference between standard output and standard error streams.

Ideally my console could also use stream multiplexing to keep track of output per-thread so that the output streams from a command like git submodule foreach "git push&" wouldn't end up jumbled together.