There is an example on cdecl that goes (double (^)(int))foofoo
means cast foofoo into block (int) returning double.
What does it mean to cast foofoo into a "block" of int? What does the symbol ^
exactly mean in this context. Usually it is bitwise XOR.