optics-core-0.4.1.1: Optics as an abstract interface: core definitions