Function as a return value in Swift

func makeSum() -> (a: Int, b: Int) -> Int {
    return { (a, b) in a + b }
}

let sumFunc = makeSum()
let sum = sumFunc(a: 5, b: 8)
//sum is 13