pub trait Fork { type Store; type State; // Required method fn fork(&self) -> (Self::Store, Self::State); }