pub trait EdgeNumberBoundedNode<Ix: IndexType = DefaultIx> {
// Required methods
fn max_incoming_edges(&self) -> Ix;
fn max_outgoing_edges(&self) -> Ix;
// Provided method
fn has_edge_space(&self, dir: Direction, existing_edge_count: usize) -> bool { ... }
}