Which of these statements result in valid functions?

let a: (Int) -> Int
a = { $0 * $0 }
func a(x: Int) -> Int {
  return x * x
}
let a: (Int) -> Int
a = { x in x * x }
let a = { $0 * $0 }

Yeah! Closures need to be declared if they're not used right away.

Oh noes! Closures need to be declared if they're not used right away.