Also, I was a little surprised to see the addition of `visit_opt_lifetime_ref`, `visit_lifetime_ref`, and `visit_lifetime_decl`; its not like we have analogous methods for visiting references to type parameters or (value-expression) variables.

That, combined with the observation that there are no external clients of `visit_lifetime_decl` nor `visit_opt_lifetime_ref`, and only one invocation of `visit_lifetime_ref`, makes me wonder if we would be better off leaving these methods off the `Visitor` trait (and instead implement the necessary substructure traversal in `resolve_lifetime.rs` alone.

Up to you.