Some much needed cleanup on the code and drop the custom Lens implementation in favour of just using the zio-optics library.
One caveat of the optics library is that it caters for failures in the lenses, which I've never seen before, and requires that the OpticResult be unwrapped in specific places within the code. This is not an issue, but creates slightly more code at the call-sites.
Some much needed cleanup on the code and drop the custom
Lens
implementation in favour of just using thezio-optics
library.One caveat of the optics library is that it caters for failures in the lenses, which I've never seen before, and requires that the
OpticResult
be unwrapped in specific places within the code. This is not an issue, but creates slightly more code at the call-sites.