title: Why does Swift 1.2 reduce force me to use the combine: argument name?
body: <p>This code was legal in Swift 1.1:</p>
  
  <pre><code>let arr = Array(1...100)
  let sum = arr.reduce(0,+)
  </code></pre>
  
  <p>But in Swift 1.2 it is no longer legal. Instead, I am compelled to use the <code>combine:</code> parameter name explicitly:</p>
  
  <pre><code>let arr = Array(1...100)
  let sum = arr.reduce(0,combine:+)
  </code></pre>
  
  <p>Why? I see no difference in their declarations — except for the new <code>@noescape</code> attribute (well explained <a href="https://stackoverflow.com/a/28428521/341994">here</a>). But why should <em>that</em> change anything about the use of external parameter names?</p>