get rustc to accept these lifetimes