pub trait Indexer { type Unindexed; type Indexed; // Required method fn index(&self, item: Self::Unindexed) -> Result<Self::Indexed, IndexError>; }