@dpwiz well, I think that there are the following aspects:
1. Blessed ways to do things (this is the famous Haskell has 5 ways to do anything, which is both good and bad, but for production it feels more bad than good)
2. Kmett, but for industrial libraries. Kmett and José are similar because they prioritise UX highly and lay ground for various libraries that become mainstream, but Edward prioritises abstract features with broad applications. I understand it, it's more fun than essentially making frameworks, but the power of #Erlang and #Elixir is that they are frameworks through and through, even the lowest level. I always liked to say "Erlang is not a programming language, it's a concurrency framework"
3. Universal "unsafe" logging, universal "unsafe" observability, global "unsafe" application configuration
4. Proper metaprogramming to give programmer the control of boilerplate reduction
5. Most importantly: lack of fault tolerance language features. Control.Exception is an absolute joke.
But I didn't think about it too hard.
My guess is that, as a blanket statement, 1 causes community fragmentation, 5 causes less time each fragment to do actual work vs writing defensive code, increasing time to market.
@jonn What does Haskell needs to catch up on productivity with Elixir/Phoenix?