Comment fonctionne la dérivation dans Haskell?

Les types de données algébriques (ADT) dans Haskell peuvent automatiquement devenir des instances de certaines classes de types (commeShow,Eq) en dérivant d'eux. data Maybe a = Nothing | Just a deriving (Eq, Ord) Ma question est la suivante: comment cela derivingfonctionne-t-il, c'est-à-dire...