title: String initializer for optional primitive types: Int? Double? Float? etc
body: <p>Is it possible to have an extension for all of the above types without specifying each type individually?</p>
  
  <p>For example, here is such extension for <code>Double</code>:</p>
  
  <pre><code>extension String {
    init?(_ value: Double?) {
      if let nonOpt = value {
        self.init(nonOpt)
      } else {
        return nil
      }
    }
  }
  
  
  let nonOpt: Double = 1
  
  let opt: Double? = 1
  
  let string = String(opt)
  
  print(string)
  </code></pre>
  
  <p>I'd like to allow string initialization with optional type if it is possible to initialize string with the original type.</p>