title: Why can't Swift's greater-than or less-than operators compare optionals when the equality operators can?
body: <p>In Swift 3, this is a compile error, if I use <code>&gt;</code> or <code>&lt;</code></p>
  
  <pre><code>let a: Int?
  guard a &gt; 0 else {return}
  guard a &lt; 0 else {return}
  </code></pre>
  
  <p>Compile error:</p>
  
  <blockquote>
    <p>Value of optional type 'Int?' not unwrapped; did you mean to use '!' or '?'?</p>
  </blockquote>
  
  <p><br>
  But it's okay if I compare with <code>==</code> or <code>!=</code></p>
  
  <pre><code>let a: Int?
  guard a == 0 else {return}
  guard a != 0 else {return}
  </code></pre>