This is a follow-up to Error handling in Rust from a couple of days ago. The moment we want to use error propagation for different error types, we have to rely on trait objects with Box<dyn Error>
, which means we defer a lot of information from compile-time to runtime, for the sake of convenient error handling.