The nerd in me does like playing with the typesystem like that. But I don't see why this ```rust trait Counter { type Output; fn get(&mut self) -> Self::Output; } struct CartesianDistance { .. } struct Duration { .. } ``` is better than this: ```rust trait Timer { fn get(&mut self) -> Duration; } trait Distance { fn get(&mut self) -> CartesianDistance; } ```