1 Block is heavily used in objective-c APIs.
2 - ( int ( ^ )( int , int )) getMyBlock ; - ( void ) setMyBlock: ( int ( ^ )( int a , int b )) inputBlock ;
3 Readability of nested block without typedef is so horrible.