How does the no async work? Would have thought Bun would need that

Async presumably happens in the JS runtime that bun calls into. Just need 1 thread to host that

People were doing async I/O before coroutines existed. They are using callbacks and their own networking.