You have several options for writing closures more concisely. When a closure's type is already known, such as the callback for a delegate, you can omit the type of its parameters, its return type, or both. Single statement closures implicitly return the value of their only statement.

numbers.map({ number in 3 * number })

You can refer to parameters by number instead of by name—this approach is especially useful in very short closures. A closure passed as the last argument to a function can appear immediately after the parentheses.

sort([1, 5, 3, 12, 2]) { $0 > $1 }

— The Swift Programming Language

Just finished watching the Apple WWDC Keynote and Swift was definitively my favorite part.