title: Using guard with a non-optional value assignment
body: <p><strong>This is not a question about optional arrays, as one can see in the answers.</strong></p>
  <p>I like using <code>guard</code> because it makes your intensions clear. I've used it both for the optional version like this...</p>
  <pre><code>guard let c = MyOptionalArray else { return }
  </code></pre>
  <p>as well as for more traditional bounds checking on non-optionals...</p>
  <pre><code>guard MyArray.count &gt; 0 else { return }
  </code></pre>
  <p>But now I'd like to use that <code>count</code> in following code. So I did...</p>
  <pre><code>guard let c = MyArray.count &gt; 0 else { return }
  </code></pre>
  <p>which doesn't work, obviously, so I did what should...</p>
  <pre><code>guard let c = parts.count where c &gt; 1 else { return }
  </code></pre>
  <p>But that says <code>Initializer for conditional binding must have Optional type, not 'Int'</code>. Now I understand the error, and tried a bunch of seemingly obvious changes to the format, but no go. Is there no way to use guard as an assignment on a non-optional value? This seems like something it should be able to do.</p>