pub type StateTransitionGenerator<S, T> = Arc<dyn Fn(S) -> OutgoingTransitions<S, T> + Send + Sync + 'static>;
struct StateTransitionGenerator<S, T> { /* private fields */ }