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