A trait that describes the axis in textual form. Implementations usually
associate a descriptive string per enum variant, used for instructing
the end user or prompting an LLM how to expand that axis.
A trait that describes the system message goal for a given axis set.
This is typically implemented for the entire enum and returns a single,
static system message goal string for the entire type.
This trait we use as a generic expander of tokens. It leverages a collection of
TokenExpanderAxes and has its implementation typically automatically generated by the
TokenExpansionAxis proc macro