I have to ask - I like some of the paradigms of Functional programming (IMO it makes concurrent programming a lot easier because state is never shared)

Why hasn't it cut through, like OO did?

and

Beam has been around since the 90s, had a good marquee project (RabbitMQ) but still has low adoption

I am not sure I if I can speak to that in general but personally I discovered functional programming late. Object oriented programming was all the rage when I got initiated and that is all that was taught in colleges.