What needs to be explained about lifetime parameters

stackoverflow provides an excellent analysis of the meaning <'a> in fn fun<'a>(s: &'a str, ...) -> &'a str;. They give some very good answers.