pub trait Traversable<Inspector, Adjuster> {
type InspectError: Into<AnyError>;
type AdjustError: Into<AnyError>;
// Required methods
fn inspect(&self, visitor: &mut Inspector) -> Result<(), Self::InspectError>;
fn adjust(
&mut self,
visitor: &mut Adjuster,
) -> Result<(), Self::AdjustError>;
}