Giftwrap 
Wrap and unwrap your types the stylish way with derive macros for From/TryFrom in both directions
How does it work?
giftwrap exposes two derive macros, Wrap and Unwrap that derive impl From<inner_type> for your_type and impl From<your_type> for inner_type (or TryFrom<your_type> in the case of enums) respectively.
It works for any struct or enum variant that holds only a single type, and don't worry variants with multiple types or with types you want to convert yourself can be easily ignored by setting noWrap and noUnwrap in the #[giftwrap()] attribute.
Examples
Consider the following error.rs
pub type Result<T> = Result;
impl_from!;
impl_from!;
impl_from!;
This might seem simple enough but adding new error types is not as easy as it could be.
However with giftwrap it's as simple as it gets:
pub type Result<T> = Result;
use Wrap;
Now you could add a new error variant wrapping a type from any library and giftwrap handles the rest for you