Red and blue functions are a good thing
In Erlang&#x2F;Elixir, every function from another module is async by design, and the await is implicit.<p>This is by design to allow for hot code reloading. This is a very sound design choice because true concurrency is achieved through the creation of other processes (agents, genservers, tasks, ...).<p>You have nice things like Dynamic Supervisors to monitor those processes. And it works very well.<p>Try to do the same with uncancellable promises in Javascript&#x2F;Typescript, or with channels in Go, while it&#x27;s still possible, you&#x27;ll find your code growing in complexity way quicker.<p>The actor model embedded in the language, like Erlang&#x2F;Elixir, brings so much to the table, it&#x27;s unfortunate that the author dismiss it without a second thought.