Instead of a custom error implementation, use the popular [anyhow](https://github.com/dtolnay/anyhow) library to generate application errors in an idiomatic fashion.