<div dir="ltr"><div>With the introduction of the Optional type in Swift, it is possible to write an entire application without explicitly referring to nil and instead use the Optional&#39;s .none case. However, on failable initializers nil is the only return value permitted by the compiler.</div><div>Given that the initialization of a type with a failable initializer generates an Optional, it feels it should be possible to *also* return .none from a failable initializer as an alternative to nil.</div><div><br></div><div>Example:</div><div><br></div><div><br></div><div>class Foo {</div><div>    let bar: String</div><div>    </div><div>    init?(bar: String?) {</div><div>        guard let bar = bar else { return .none } // Compile error: nil is the only return value permitted in an initializer...</div><div>        </div><div>        self.bar = bar</div><div>    }</div><div>}</div></div>