title: What is lifetime elision in very simple terms?
body: <p>From <a href="https://doc.rust-lang.org/book/first-edition/lifetimes.html#lifetime-elision" rel="noreferrer">the Rust documentation</a>:</p>
  
  <blockquote>
    <p>Rust supports powerful local type inference in the bodies of functions, but it deliberately does not perform any reasoning about types for item signatures. However, for ergonomic reasons, a very restricted secondary inference algorithm called “lifetime elision” does apply when judging lifetimes. Lifetime elision is concerned solely with inferring lifetime parameters using three easily memorizable and unambiguous rules. This means lifetime elision acts as a shorthand for writing an item signature, while not hiding away the actual types involved as full local inference would if applied to it.</p>
  </blockquote>
  
  <p>I don't understand what this means. What are item signatures? What does "infer lifetime parameters" mean? Some examples or analogies would be helpful.</p>