optics: Functional abstraction/value that allows you to get/set particular things in complex data types