pub type DynResult<T> = Result<T, Box<dyn Error>>;
Result type that boxes the error. Allows constructors to return arbitrary errors.