ah, so that's how you do lifetimes with impls