pub type StepResult<S> = Result<(S, Outcome), StepError>;
The result of running a step: a new state plus what to do next.
pub enum StepResult<S> { Ok((S, Outcome)), Err(StepError), }
Contains the success value
Contains the error value