title: In Swift,there's no way to get the returned function's argument names?
body: <p>When a function's return value is another function,there's no way to get the returned function's argument names.Is this a pitfall of swift language?</p>
  
  <p>For example:</p>
  
  <pre><code>func makeTownGrand(budget:Int,condition: (Int)-&gt;Bool) -&gt; ((Int,Int)-&gt;Int)?
  {
      guard condition(budget) else {
          return nil;
      }
  
      func buildRoads(lightsToAdd: Int, toLights: Int) -&gt; Int
      {
          return toLights+lightsToAdd
      }
  
      return buildRoads
  }
  
  func evaluateBudget(budget:Int) -&gt; Bool
  {
      return budget &gt; 10000
  }
  
  var stopLights = 0
  
  if let townPlan = makeTownGrand(budget: 30000, condition: evaluateBudget)
  {
      stopLights = townPlan(3, 8)
  }
  </code></pre>
  
  <p>Be mindful of <code>townPlan</code>,<code>townPlan(lightsToAdd: 3, toLights: 8)</code> would be much more sensible to <code>townPlan(3, 8)</code>, right?</p>