However, I’m completely bemused by the rules for named parameters. Unlike in F#, which optionally supports named parameters in calls to function if you want to use them, Swift 2.0 enforces that you must use them (except where you mustn’t, like the first parameter in the call). Seriously? I understand that, for functions with multiple parameters of the same type, it can be helpful to name the parameters – but making that a requirement on every call will seriously reduce productivity. And what about refactoring – if I change the name of a parameter, will I have to change its name at all call sites as well?