Use GHC.Generics instead of derive on GHC 7.8