27.3.7. C++ compile time magic