ruiu added a comment. I think I honestly don't like these macros. They indeed reduces amount of code but are hard to read. I prefer the current style (explicitly writing control flow in a plain C++) over the magical macros. http://reviews.llvm.org/D21128