Представьте себе блок препроцессора C:
#if defined( NAME )
...
#else // comment-else
...
#endif // comment-endif
Такие блоки могут быть довольно большими и запутанными.
Чтобы прояснить намерения и поведение, как бы вы написали comment-else и comment-endif как выражение NAME?
Примечание: я должен добавить, что меня особенно интересуют более сложные случаи с комбинированными выражениями и вложенностью.