I forgot to mention this. There is an important *limitation* in how this solution behaves in the context of PHP.
Calls to PHP functions that normally block execution in the zero-Fiber do not change their behavior. This solution has both advantages and disadvantages. The advantage is that it does not break *backward compatibility* in any way. Calling sleep(10) at the beginning of <?php will cause the process to go into a wait state. *True Async* changes the behavior of functions only if they are running inside a Fiber with an active Scheduler. This is yet another consequence of this architectural decision, and some people might not like it. However, at this point, I don’t see a better solution that would be optimally balanced between legacy support, explicit behavior, and implementation simplicity. Have a nice day! Ed. >