title: ReactiveCocoa: rac_keywordify macros. For what purpose rac_keywordify is actually need?
body: <p>In ReactiveCocoa there are two macros which are using in conjunction.</p>
  
  <pre><code>#define weakify(...) \
      rac_keywordify \
      metamacro_foreach_cxt(rac_weakify_,, __weak, __VA_ARGS__)
  
  #define strongify(...) \
      rac_keywordify \
      _Pragma("clang diagnostic push") \
      _Pragma("clang diagnostic ignored \"-Wshadow\"") \
      metamacro_foreach(rac_strongify_,, __VA_ARGS__) \
      _Pragma("clang diagnostic pop")
  
      #if DEBUG
      #define rac_keywordify autoreleasepool {}
      #else
      #define rac_keywordify try {} @catch (...) {}
      #endif
  </code></pre>
  
  <p>Could any one explain for what purpose actually need <code>rac_keywordify</code>?
  I read the description about <code>rac_keywordify</code> but still don't understand.
  And I will be much obliged if someone provide examples and description.</p>