Very nice, but how does it support separate compilation? Does the compiler always compile two versions of each function or zig only support whole program compilation ( by JITing for example)?
Or is it just stackful coroutines and there is really no difference between async and sync functions?