Erlang's not about lightweight processes and message passing
Without those lightweight processes that process messages sequentially from their  inbox these behaviors won't give the same concurrency guarantees.I don't know why the author is turning this into a competition of whether processes are more important or behaviors - they both are parts of a well designed system that work well together.GenServers etc can't be written equivalently in Go/Java since goroutines and Java threads (even the new virtual threads) are not pre-emptive, whereas Erlang processes are truly independent.