HFSM2 can be configured to satisfy particular requirements using:
Heavyweight advanced features are enabled using relevant feature macros (e.g.
Type configuration can be used to adjust the types used in an FSM instance and sometimes require a particular feature to be enabled (e.g.
hfsm2::Config::RandomT<T> defining the type of the PRNG used in utility theory transitions,
HFSM2_ENABLE_UTILITY_THEORY requires to be defined)