This library uses GHC.Generics to derive efficient optics (traversals,
lenses and prisms) for algebraic data types in a type-directed way, with a
focus on good type inference and error messages when possible.
