Some more refactoring in Data.Aeson.Types.Generic