pub type Substate<'a, S> = Substate<'a, Action, State, S>;
pub struct Substate<'a, S> { /* private fields */ }