dyn Trait examples
Here we provide some "recipes" for common dyn Trait implementation
patterns.
In the examples, we'll typically be working with dyn Trait, Box<dyn Trait>,
and so on for the sake of brevity. But note that in more practical code, there
is a good chance you would also need to provide implementations for
Box<dyn Trait + Send + Sync> or other variations across auto-traits. This
may be in place of implementations for dyn Trait (if you always need the
auto-trait bounds) or in addition to implementations for dyn Trait
(to provide maximum flexibility).