When defining a custom error type it is recommended to embed the builtin default implementation. This provides an empty default implementation for both required methods, so you only have to implement what you really need, and may provide additional utility functions in the future.