title: Why do multiple funcs with same name but different external parameter names produce a compile error?
body: <p>These two add methods are <em>not</em> overloaded (same names but different external parameter names):</p>
  
  <pre><code>func add (x:Int, y:Int) -&gt; Int {
      return x+y
  }
  
  add(x: 1,y: 2)
  add(x: 4,y: 2)
  
  func add (_ x:Int, _ y:Int) -&gt; Int {
      return x+y
  }
  
  add(4,5) // Delete this, and the error goes away
  
  func add (addend1 x:Double, addend2 y:Double) -&gt; Double {
      return x + y
  }
  
  add(addend1: 1.1, addend2: 2.2) // But the error is flagged here
  add(addend1: 3.3, addend2: 4.4) // and here
  </code></pre>
  
  <p>The Xcode 8.2 Beta (8C30a) Playground flags the last two lines with :</p>
  
  <p>Expression type 'Int' is ambiguous without more context</p>
  
  <p>This should not be ambiguous (I think) because the external parameter names are all different. Weirder still, this is flagged as a Swift Compile Error, and yet they evaluate to 3.3 and 7.7 in the expression area. So it's compiling, yet... not compiling?</p>
  
  <p>Is this an Xcode bug?</p>