> Zig actually also had solved the coloring problem in the old and abandondend async-await solution because the compiler simply stamped out a sync- or async-version of the same function based on the calling context (this works because everything is a single compilation unit).
AFAIK this still leaked through function pointers, which were still sync or async (and this was not visible in their type)