Semantically analyze and then evaluate a static condition at compile time. This is special because short circuit operators &&, || and ?: at the top level are not semantically analyzed if the result of the expression is not necessary.
Format a static condition as a tree-like structure, marking failed and bypassed expressions.
Lazily evaluate static conditions for static if, static assert and template constraints.