The GCC AST itself is a curious data structure in that it is an
implementation of the polymorphic data type idea in C (next time someone
tells you that polymorphism works perfectly in C and they don’t need
“bloated” C++ for that, show them the GCC AST)