Earlier quoted context omitted.
This is also why function coloring is not a problem, and is in fact desirable a lot of the time.
Exactly, there is nothing wrong with function coloring. It's a design choice. Colored functions are easier to reason about, because potential asynchronicity is loudly marked. Colorless functions are more flexible because changing a function to be async doesn't virally break its interface and the interface of all its callers. Zig has colored functions, and that's just fine. The problem is the (unintentional) gaslighti…
Effectful languages basically add user-definable "colors", but they let you write e.g. a `map` function that itself turns color based on its parameter (e.g. becoming async if an async function is passed).