Type system extensions in GHC
GHC comes with a rather large collection of type-system extensions (beyond Haskell 98). They are all documented in the user manual, but this page is a place to record observations, notes, and suggestions on them.
1 Overlapping instances
Here an interesting message about the interaction of existential types and overlapping instances.
2 Indexed data types and indexed newtypes
Indexed data types (including associated data types) are a very recent addition to GHC's type system extensions that is not yet included in the user manual. To use the extension, you need to obtain a version of GHC from its source repository.
3 Stand-alone deriving clauses
Bjorn Bringert has recently implemented "stand-alone deriving" declarations.