In defence of my advice with which you seem to disagree.
Avoid math stuff:
By math stuff i mean "category theory", you don't need it to do useful stuff and it's better to avoid it when you learn the language and get comfortable with it. You also seem to imply that (pure) functions are somehow math-y, i am not sure most of the developers see a function definition and think math.
Don't do to much IO:
I didn't say "any", i said too much. It's a way to avoid getting thrown at the deep end of the pool (monad transformers) when taking your first steps. The two most popular Haskell tools/projects, Pandoc and PostgREST have very little IO in them, and yet they are immensely useful.
About biting the bullet:
I think expressions like these propagate the notion that somehow haskell is harder then other languages and you just have to expect that and get used to it, thus ppl don't even bother an run away when they hear Haskell. In my personal experience (following the 2 things above), after 2-3 months of learning Haskell, i was able to do this https://github.com/ruslantalpa/skin which 1 month later became the base for the current PostgREST core. Sure the was refactoring and such (with the help of more experienced haskell devs) but the fact is, a few months into the language i was able propose and implement deep changes to useful Haskell tools. My ability to do those things did not come from me being some kind of genius (I mostly did PHP and JS all my career) but precisely because Haskell gives you such powerful tools and is easy once you give it more then 2 weeks of your time.
What was your path to learning Haskell? Why do you feel like you had to "bite the bullet"?