pub trait Edge { type ID; // Required methods fn source(&self) -> Self::ID; fn target(&self) -> Self::ID; }