Internal derive used to keep Polyglot's typed AST traversal exhaustive.
Fields are visited in declaration order. Standard containers are traversed
automatically, while #[ast(skip)] excludes derived semantic metadata that
is not part of the syntax tree.