KKBVWFJYCPHBQVKMXK5BHFFJXHM6LHH4RZ7C4FHGYCCJ3PXJQAXQC
/// After attaching context of type `C` onto an error of type `E`, the resulting
/// `eyre::Error` may be downcast to `C` **or** to `E`.
/// After attaching a message of type `D` onto an error of type `E`, the resulting
/// `eyre::Error` may be downcast to `D` **or** to `E`.
/// In other error libraries whose context is not designed this way, it can
/// be risky to introduce context to existing code because new context might
/// In other error libraries whose wrap_err is not designed this way, it can
/// be risky to introduce messages to existing code because new message might
/// before adding context will continue to work after you add a context, so
/// you should freely add human-readable context to errors wherever it would
/// be helpful.
/// before adding the message will continue to work after you add a message, so
/// you should freely wrap errors wherever it would be helpful.