Usa lentes para actualizar registros anidados (específico de los lenguajes con datos inmutables).
Actualizar los campos de registros anidados e inmutables es bastante molesto. El código para estos casos es tan engorroso como profunda es la estructura. Si tienes, por ejemplo, un Person que contiene un Address, el cual tiene una Street, que a su vez tiene un Number, actualizar el Number requiere crear una Street nueva con el nuevo Number, luego un Address nuevo con la nueva Street y, por último, un Person nuevo con el nuevo Address. ¿Ya te has liado?
Una solución a este problema es usar lentes.
Implementa varias funciones de acceso a registros usando lentes. La suite de tests también te permite prescindir por completo de las lentes, para que puedas experimentar con distintos enfoques.
En Scala, una alternativa popular para usar Lens que cuenta con el apoyo de Exercism es Monocle
Regístrate en Exercism para aprender y dominar Scala con 95 ejercicios y mentoría humana real, todo gratis.