Common functions usable by lenses, prisms, and traversals
Shared elements for the Focus modules
Lenses combine getters and setters for keys in data structures
Prisms are like lenses, but used when the view focused on may not exist