My TL;DR: Multi-process architectures may suck on machines where you don't have enough CPU/Cores for your workload; or the design of your software requires a lot more processes than common sense would dictate.
My constant reluctance of things like goroutines/coroutines is that if they truely get executed in parallel there is little to know way to manage their machine load as one would in a distributed pipeline.
The golang runtime allows you to specify how many processes it will use. It schedules goroutines one after the other inside that number of processes. If you specify max 1 process, you have no parallelism, just concurrency.
Does it have a priority system? Or a way to setup pools? I often find I want to run some part of a program (some of its tasks) on a set number of threads at a certain priority, not throw tasks into some global pool.