  Optics are a data representation for compositional data access, with lenses
as a popular special case. Hedges has presented a diagrammatic calculus for
lenses, but in a way that does not generalize to other classes of optic. We
present a calculus that works for all optics, not just lenses; this is done by
embedding optics into their presheaf category, which naturally features string
diagrams. We apply our calculus to the common case of lenses, extend it to
effectful lenses, and explore how the laws of optics manifest in this setting.
