pub trait ServiceWithEvents<R: RouteHeader = RouteIdx> { type Event: Event<R>; }
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".