pub trait Runnable: Debug { // Required method fn spawn(&self) -> Result<Box<dyn State>, Error>; // Provided method fn run( &self, inputs: SmallVec<[TValue; 4]> ) -> Result<SmallVec<[TValue; 4]>, Error> { ... } }