pub trait Topology: Send + Sync { // Required methods fn len(&self) -> usize; fn get(&self, index: usize) -> Option<&Arc<dyn Singular>>; // Provided method fn is_empty(&self) -> bool { ... } }