title: What is the motivation of Rust's ToLowercase
body: <p>Rust's <code>char</code> has a <a href="https://doc.rust-lang.org/std/primitive.char.html#method.to_lowercase" rel="noreferrer"><code>to_lowercase</code></a> function which seems to return the struct <a href="https://doc.rust-lang.org/std/char/struct.ToLowercase.html" rel="noreferrer"><code>ToLowercase</code></a> which seems to be an iterator with always one element. </p>
  
  <p>Wouldn't returning a <code>char</code> directly be far more natural and simple? </p>