I{REQUIRE,ASSERT} -> {REQUIRE,ASSERT} since these aren't inline anymore.
Improve and simplify event ordering.  When explicitly calling an EventLoop, events are now always added to the end of the queue, ensuring deterministic run order and making yield() obsolete.  OTOH, then() may queue events to run immediately, preempting other events.
Fix location of empty union error.
Improve then() comments.
Initial RPC protocol definition.