<@U1JR9LR8Q> Simple rewriting, of course I ommite...
# announcements
s
@ntrrgc Simple rewriting, of course I ommitetd null checkes
Copy code
outerValueLens(foo) // foo.outerValue
outerValueLens(foo, "quux") // foo.copy(outerValue = "quux")
innerLens(foo) // foo.inner ?: Inner("xyzzy")
innerValueLens(foo, "frobnitz") // foo.copy(inner = Inner(value = "frobnitz"))
innerValueLens(foo) { toUpperCase() } // foo.copy(inner = Inner(value = foo.inner.value.toUpperCase()))
If I understood correctly