pub trait Edge: Clone + Sync {
// Required methods
fn head(&self) -> usize;
fn tail(&self) -> usize;
fn dot_label(&self) -> String;
// Provided methods
fn dot_style(&self) -> String { ... }
fn dot_fill_color(&self) -> String { ... }
fn dot_font_color(&self) -> String { ... }
fn dot_pen_width(&self) -> f64 { ... }
}