I'm yearning for the Golang of functional programming. That is, excellent std lib, clear documentation, awesome tooling, active community.. and after typing this, maybe that's Elixir? Though I do love static typing.

I was thinking about this a year ago & decided on Elixir. So far I have no regrets. As you mentioned Elixir satisfies all the conditions you mentioned. For the static typing part, I agree. But since there's no OOP, the flow of the information throughout the app is pretty explicit & the reasoning behind it is easy to be debugged.

There is static type checking/analysis available. Just use Dialyzer.

You're right. I've used it once as a part of an exercise in the "Programming Elixir" book and never again.

It should maybe come bundled with mix, as some other tools, that way it'll be more approachable.

Also there's a wrapper for it, which helps in the process.[0]

[0] - https://github.com/jeremyjh/dialyxir