https://medium.com/javascript-inside/an-introduction-into-lenses-in-javascript-e494948d1ea5 https://egghead.io/lessons/react-update-component-state-in-react-with-ramda-lenses
Creates a new object by recursively evolving a shallow copy of object, according to the transformation functions. All non-primitive properties are copied by reference.
https://egghead.io/lessons/react-update-state-in-react-with-ramda-s-evolve