Concise ways to handle immutable data
Data classes, sealed hierarchies, and above all, immutable data is
Lenses are the most common type of optic you work with. This section discusses
Optionals allow focusing on elements that may not be present. This includes
The framework laid out by optics extends very nicely to values like lists, which
Prisms & Isos
Prisms extend the capabilities of optics from merely inspecting or modifying
Although we strongly recommend generating optics using the DSL and @optics attribute, sometimes this is impossible. We provide the small utility package arrow-optics-reflect for those scenarios, which bridges Arrow Optics with Kotlin's reflection capabilities.