pub trait FromOutput: From<Self::Output> { type Output: Output; }
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".