From the docs:
int (^Multiply)(int, int) = ^(int num1, int num2) {
return num1 * num2;
};
int result = Multiply(7, 4); // result is 28
It only looks complicated - the same thing could be done with an function, or not? What's the real point here in this example?