#[derive(Debug, Clone, PartialEq, Eq)]
pub enum RunExit<D> {
Stopped(D),
EnvironmentClosed,
}
#[derive(Debug, Clone, PartialEq, Eq, thiserror::Error)]
pub enum RunError<B, E> {
#[error("behavior transition failed: {0:?}")]
Behavior(B),
#[error("environment rejected a successful transition's effects: {0:?}")]
Environment(E),
#[error("machine executor poisoned by a panicking transition")]
Poisoned,
}