Lenses are not fancy or complicated. They require no language extensions to create or use at all. Heck, it require no libraries beyond base to create lenses for others to use. There's a bit to learn, but there's nothing fancy. It's just a matter of applying a simple pattern repeatedly. (Or doing some software engineering and letting a library do the repetition for you.)
The focus on fancy type level abstractions is why Haskell is so interesting, but it is also one of the reasons I don't use Haskell in a business environment.
Everything is just so complicated, and every library does things somewhat differently.