Getters and Setters in Kind
github.com
github.com
I think the real problem with lens is: the type errors you get are completely unworkable. You could address this with newtypes but you’d lose expressivity and performance. Basically lens is at the bleeding edge of what a functional compiler can cope with.
It’d be an interesting research problem to see if this can be fixed.
optics uses newtypes. It loses infinitesimally in expressivity and not at all in performance, as far as I am aware. What were you thinking of?