pub trait Stateful { type Error: Display; }
Stateful objects for any reason can live at an invalid state. This trait simply declares which conditions an object might not be valid, associating an Error type to your algorithm.