pub trait GraphBase { type NodeID: Copy; type EdgeID: Copy; }
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".