pub trait Op: Op_<T = (Self::D, isize)> { type D; }
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.