Add lenses

Like #48, but without the `lens` library.