One additional pain point for me is the number of symbolic operators. It’s hard to search for what some of them do, and even harder to have a conversation with a coworker when half your code is things like <$> or >>=.
This is one of the reasons I gave up on Scala.
The language is a good tool, but it isn’t magic. You still need to apply good taste.