The concurrency model in Go is also poorly suited to the BEAM's process model. Goroutines share a heap so you can't do a lot of things safely that processes can do. Having independent memory space for a process allows you to free it safely when work is done without GCing everything and you can also safely share data because you have a copy not a ref.

There is this: https://github.com/ergo-services/ergo which i keep meaning to take a look at, but never seem to quite get around to…