OK I think it is pretty good.
tomlarkworthy.github.io/lopebooks/notebooks/tomlarkworthy_spreadsheet.html
Lenses have utterly reshaped my programming model. I am a post-modern programmer who always tries to reuse what has already been done but for new purposes, and lenses fits so well for that because I can take something and utterly reshape it without damaging the original thing. In this case the Observable Runtime took inspiration from spreadsheet reactivity, which I like, and now we can fit the spreadsheet paradigm back onto it, without redoing the reactivity engine. Lenses are kind of strictly additive because the original remains working. I think my old way of working was to try and wrap things with new abstractions, or monkey patch, or come up with conventions at the boundary. Lenses lead to sibling abstractions at the same level, its much nicer, and there a bunch of clear lens laws you can property check against so you know if it is truly working or not. I put lenses on the same pedestal as compilation/parsing thoery, I think its better than parsing.