automaton::print: does not dynamic dispatch
Printing a conjunction for instance does not show the real state names.
virtual
seems a good answer, but it does not work since state_t
depends on the actual type of the automaton (to avoid that we mix states from different automaton types).