The records problem is basically a small syntactical quirk. Undesirable, yes, but not what will make or break production software development.
Lenses solve some of that and much more. Lenses strictly improve on fields/records/getters/setters/etc. in any other language you know. In other words, they accomplish what they do and then some.
If that was your only problem with Haskell, then it might be one of your favourite languages if you get to know it again.
I still think it's worth learning by anyone who's got the time for it.
While I totally sympathize with this, I'm not sure it's a very good vantage point from which to judge a language.
Where are the practical Haskell tutorials. No preaching, no "you're holding it wrong", ONLY this: "you need to handle arbitrarily nested JSON? here's how".
- Simple Haskell Handbook[1]
- Haskell (Almost) Standard Libraries[2]
- [0]: https://lhbg-book.link
Learning an entirely new language is hard and requires patience and perseverance!
From my (limited) experience with Haskell, my impression is that it's strongest in domains that map _very_ well to formal mathematical models. Mathematical computation is an obvious example, but things like programming language parsers are also really intuitive to build in Haskell.
My experience trying to use Haskell for other stuff — mainly, building web backends, my bread and butter back then — was painful. Simple CRUD against a database is actually pretty decent thanks to there being decent Postgres drivers and libraries, but the moment you need to handle arbitrarily-nested data structures (like a JSON request/response with a nontrivial schema), you run up against a lot of awkwardness, to the point that for the longest time this was known in Haskell as the "records problem."
Lenses and similar tools have tried to solve this problem over the years, and maybe they have, but I moved on from the language when I saw how deep that rabbit hole went.
None of this is to say Haskell isn't fun or rewarding, but it definitely has its strengths and weaknesses.