+#define target_attribute_reverse(x) CAST(target_attribute, AST_node_reverse(CAST(node, (x))))
+#define target_attribute_length(x) AST_node_length(CAST(node, (x)))
+#define last_target_attribute(x) CAST(target_attribute, AST_node_last(CAST(node, (x))))
+#define scan_target_attribute(var, list) for (var = (list); var; var = CAST(target_attribute, var->next))