pub trait HasMax { type Of: Copy; const MAX: Self::Of; }
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".