It’s not complex, it’s very simple, and that’s why most people don’t understand it.
I did think the same when I first start to see Erlang codes (learned Elixir first), but now I don’t think like that anymore. Elixir brought Erlang’s power to the lands of imperative programmers. I mean, Elixir still functional, but it’s not that much different than everything an imperative programmer is used to.
I have even heard some people saying: “Elixir is not functional at all”. Of course these people really don’t understand what a functional programming language is. But when I heard it, I had an epiphany: their assumption is “if it’s not complicated for me to understand, it’s not functional”.
And why should it be like that? I mean, it’s bad these people think like that because it would be good for them to learn different syntaxes! Is the syntax that big deal for our everyday work? Do a complicated syntax makes us that much more unproductive? Or unhappy?
Sorry for the off-topic.