pub trait Id: Eq + PartialEq + Hash { }
Trait that bundles what we need from a request ID
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".