Macro can be used on free functions and impls, including impl traits, with only one implement
method. It will generate
Dependency impl in which calling function that will tagged by this
We recommend using this macro in production code.
Derive macro can be used on structs with named fields when all fields implements
Dependency trait or
fields described using
We do not recommend using this macro in production code.