I started learning to write Haskell a while ago. My current reflection is while it’s easy to start learning to write simple code and correct code it a much larger step to actually be able to write performant code that is generic. Performant idiomatic Haskell requires a good enough understanding of the functional paradigm.
I experienced the same thing. Once you get over the practical application of monads hump it becomes a lot more like the progress experience in other languages. You don’t need to achieve your “monads are a burrito” moment to successfully write complex Haskell, you just need to be able to cargo cult while recognizing that you are doing so and the understanding will slowly accrete. That said, Haskell is the first language I’ve worked in where there are periodic learning cliffs (lenses stand out here) where when you scoot into a slightly foreign domain you need a few days of study. I still think the juice is worth the squeeze though since once you learn how to do the thing then doing the thing correctly tends to be easier in more forgiving languages.