Changes in new versions / Swift 3.0

// *** before: ***
func move(x: Int, y: Int) { }
move(10, y: 20)          // the first label vanished, the rest stayed

func loadOld(named: StringfromString) { }
loadOld("readme"from"docs")

// *** in version 3.0: ***
func move(x: Int, y: Int) { }
move(x: 10, y: 20)       // every argument is named

// an underscore drops a label on purpose
func log(_ message: String) { print(message) }
log("done")

// the label may differ from the name inside the function
func load(named name: Stringfrom folder: String) { }
load(named: "readme"from"docs")