Useful for structured error reporting over the network and for structured logs, among other things. The [Rust API Guidelines](https://rust-lang-nursery.github.io/api-guidelines/interoperability.html#data-structures-implement-serdes-serialize-deserialize-c-serde) suggest proactively deriving serde for public types, and provide instructions for doing so.