title: Why is one expression ambiguous and the other not?
body: <p>The following code works</p>
  
  <pre><code>let evens = [1,2,2,3,4,5,6,6,7].reduce(Set&lt;Int&gt;()) { (var set: Set&lt;Int&gt;, int: Int) -&gt; Set&lt;Int&gt; in
  
          if (true) {
  
          set.insert(int)
  
          }
  
      }
  </code></pre>
  
  <p>...but the compiler thinks this is ambiguous?</p>
  
  <pre><code>let evens = [1,2,2,3,4,5,6,6,7].reduce(Set&lt;Int&gt;()) { (var set: Set&lt;Int&gt;, int: Int) -&gt; Set&lt;Int&gt; in
  
          set.insert(int)
  
      }
  </code></pre>
  
  <p>Bug report?</p>