pub trait ErrorGetter { type Error; // Required method fn take_error(&mut self) -> Result<(), Self::Error>; }
TODO change name of the trait