typedef double (^Operation)(double first, double second);
If you declare a block type as a typedef, you can then use the new type name instead of the full description of the arguments and return values. This defines Operation as a block that takes two doubles and returns a double.
The type can b...