i was playing around a bit in `embedded-hal` and realised that this seems possible for the custom `Error` types:

```rust
impl core::fmt::Display for dyn Error {
    fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
        write!(f, "{:?}", self)
    }
}

impl core::error::Error for dyn Error {
}
```

would it make sense to do this everywhere? 🤔
then HALs presumably wouldn't have to do anything unless they want to give more details (e.g. by implementing `source()` or by having their own `impl Display` for their custom error type)

to be honest i'm surprised that this compiles - i didn't know that you can `impl .. for dyn ..` until a few minutes ago 😅