(Would appreciate if any bonafide haskellers care to comment)
Know category theory or being aware of it just gives you a deeper understanding of the way things work.
I don’t know category theory but aware of it. The way I look at it is c style languages you have design patterns. These are loosely designed patterns with no formal definitions. That makes it hard to reason about or test things.
In category theory you have mathematical laws. Laws are far stronger than a loosely typed designed patterns so using these laws it’s far easier to reason about code.
Highly agree that most common extensions are pretty shallow and easy to understand. The tricky ones are usually enabled because some library told you to, or you've genuinely leveled up and recognize where to use them yourself.
Just to query a database the example used half a dozen langauge extensions. I could probably learn the base Haskell langauge but that's not enough it seems for real world usage.
Now these langauge extensions ofcourse reduce the boilerplate and enable a nicer syntax but they dramatically increase the cost of using Haskell in production.
My understanding of the ecosystem is that there is a divide between people who want to use Simple Haskell concepts and others that want to advance the state of the start for every library.
https://www.simplehaskell.org/