Swift 3 conversion gets 'Int1' is not convertible to 'Bool'
<p>I'm converting Swift 2 code that compiles and runs to Swift 3 and am getting the following error:</p>

<blockquote>
  <p>'Int1' is not convertible to 'Bool'</p>
</blockquote>

<p>The code is as follows:</p>

<pre><code>isUpdated = sharedInstance.database!.executeUpdate(
"UPDATE Coin_Table SET upgrade=?, grade=?, WHERE coin_id=?", 
withArgumentsInArray: [
coinInfo.upgrade, (coinInfo.grade != nil) ? coinInfo.grade! : NSNull(), 
coinID])
</code></pre>

<p>The code above is using FMDB with the method defined in FMDB.h as</p>

<pre><code>- (BOOL)executeUpdate:(NSString*)sql withArgumentsInArray:(NSArray *)arguments;
</code></pre>

<p>When compiling my code above it flags the "(coinInfo.grade !=" and gives the error.</p>

<p>I tried simplifying it to see if it would still happen:</p>

<pre><code>let theArray: NSArray = [true ? "foo" : NSNull()]
</code></pre>

<p>and still get the same error, this time it flags the "true".</p>

<p><a href="https://i.stack.imgur.com/XL11R.jpg"><img src="https://i.stack.imgur.com/XL11R.jpg" alt="Screenshot of error"></a></p>

<p>I've done a bunch of searches on this and haven't found anything close other than <a href="https://bugs.swift.org/browse/SR-2372">https://bugs.swift.org/browse/SR-2372</a> but that is an issue with tuples which I wouldn't think would affect my code.</p>

<p>Can anyone shed some light on this or suggest a workaround if it is a compiler bug?</p>

<p>Thanks</p>