Haskell is my preferred statically-compiled-but-with-coroutines-and-channels language. It&#x27;s harder to learn and the tooling is not as good as Go&#x27;s, but its type system is far more powerful and useful. You can build useful generic abstractions over all types of channels and use them in every context. In Go you either have to use interface{} and pay the perf hit or write a code generator.