https://github.com/shapesecurity/shift-java/pull/273 adds a type-safe lens class, but it only supports reading a field. It would be nice to support setting it as well.