Add SafeHaskell annotations to all exposed modules.
This required factoring 'Generic' into two modules.