Template Haskell based derivers for typical newtype instances, which the GeneralizedNewtypeDeriving extension refuses to handle.

Amongst others provides support for the "monad-control" classes: