create a polymorphic Lens_ from a getter/setter pair
polymorphic identity of a Lens_
create a polymorphic Lens_ from a combined getter/setter
use a Prism_ as a kind of first-class pattern.
implicit conversion from APrism_ to Prism_