<div dir="ltr">What isn&#39;t clear to me from Chris&#39;s or John&#39;s comments is why the `if let x? = foo` syntax was taken away. Was it for backward-compatibility? To me, this syntax does have special syntactic support, and also seems to make it clearer what&#39;s going on. It&#39;s also analogous to Swift&#39;s type inference for generic &lt;T?&gt; types, for example:<div><br></div><div>   func doSomething&lt;T? where T: Equatable&gt;(x: T?) -&gt; T { ... }</div><div><div><br></div><div>Note the T? in brackets. If I pass an Int? to doSomething, the type is &quot;unwrapped&quot; and T becomes Int. It seems like `if let x? = foo` would follow the same pattern.</div><div><br></div><div>Was the syntax taken away for reasons unlikely to change, or is it up for discussion? :)</div><div><br></div>-- <br><div class="gmail_signature">Tyler Mandry</div>
</div></div>