This module introduce
Derivable as the main interface to implement (or auto-implement) and
provides additional mixin-interfaces with specific default behavior of standard basic methods based
on the services of this interface.
The name deriving is inspired from the deriving mechanism of Haskell.
This module also introduce a new annotation
Derivable for details.