traversy.lens
conditionally
(conditionally applies?)
A lens to a conditional value, based on a predicate. This lens is unstable if the predicate interacts with an update.
lens
(lens focus fmap)
Construct a lens from a focus function and an fmap function: (focus x) => a sequence of foci (fmap f x) => an updated x
maybe
A lens to an optional value. This lens is unstable if an update converts nil to another value.
only
(only applies?)
A lens from collection -> applicable items, based on a predicate. This lens is unstable if the predicate interacts with an update.
view-single
(view-single x lens)
Return the sole focus, throwing an error if there are other or no foci.