monocle
create a PLens using a pair of functions: one to get the target, one to set the target.
macro module for methods generating PLens with less boiler plate