Simpler error handling
I'm using the "thiserror" crate, which uses the std Error trait (instead of the failure's Fail trait).
thiserror includes a nice macro #[from]
to create an impl From<...> ...
, so the custom macro can be removed.
Edited by Lorenzo Miglietta