An excellent answer, it helped me better understand lifetimes and borrowing. I have another question about Rust contravariance that I’d like to ask you. Could you spare some time to take a look at it: Rust contravariance, Regarding the contravariance of `fn(&'a i32) -> ()`