vitrea Lenses and optics via the profunctor representation theorem. You can learn about this representation in the following articles. Milewski (2017), "Profunctor optics: the categorical view" Boisseau, Gibbons (2018), "What you needa know about Yoneda"