diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Revision history for deriving-aeson
 
+## 0.2.1
+
+* Remove redundant type variables from `Sum*`
+
 ## 0.2
 
 * Added `Sum*` for changing the encoding of variants
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -35,6 +35,7 @@
 * `Prefixed str` = `CustomJSON '[FieldLabelModifier (StripPrefix str)]`
 * `PrefixedSnake str` = `CustomJSON '[FieldLabelModifier (StripPrefix str, CamelToSnake)]`
 * `Snake` = `CustomJSON '[FieldLabelModifier (StripPrefix str, CamelToSnake)]`
+* `Vanilla` = `CustomJSON '[]`
 
 How it works
 ----
diff --git a/deriving-aeson.cabal b/deriving-aeson.cabal
--- a/deriving-aeson.cabal
+++ b/deriving-aeson.cabal
@@ -1,6 +1,6 @@
 cabal-version:       2.4
 name:                deriving-aeson
-version:             0.2
+version:             0.2.1
 synopsis:            Type driven generic aeson instance customisation
 description:         This package provides a newtype wrapper with
   FromJSON/ToJSON instances customisable via a phantom type parameter.
@@ -25,7 +25,7 @@
   build-depends:       base >= 4.12 && <5, aeson >= 1.3 && <1.5
   hs-source-dirs: src
   default-language:    Haskell2010
-  ghc-options: -Wall
+  ghc-options: -Wall -Wcompat
 
 test-suite test
   type: exitcode-stdio-1.0
diff --git a/src/Deriving/Aeson.hs b/src/Deriving/Aeson.hs
--- a/src/Deriving/Aeson.hs
+++ b/src/Deriving/Aeson.hs
@@ -127,11 +127,11 @@
 instance (KnownSymbol t, KnownSymbol c, AesonOptions xs) => AesonOptions (SumTaggedObject t c ': xs) where
   aesonOptions = (aesonOptions @xs) { sumEncoding = TaggedObject (symbolVal (Proxy @ t)) (symbolVal (Proxy @ t)) }
 
-instance (KnownSymbol t, KnownSymbol c, AesonOptions xs) => AesonOptions (SumUntaggedValue ': xs) where
+instance (AesonOptions xs) => AesonOptions (SumUntaggedValue ': xs) where
   aesonOptions = (aesonOptions @xs) { sumEncoding = UntaggedValue }
 
-instance (KnownSymbol t, KnownSymbol c, AesonOptions xs) => AesonOptions (SumObjectWithSingleField ': xs) where
+instance (AesonOptions xs) => AesonOptions (SumObjectWithSingleField ': xs) where
   aesonOptions = (aesonOptions @xs) { sumEncoding = ObjectWithSingleField }
 
-instance (KnownSymbol t, KnownSymbol c, AesonOptions xs) => AesonOptions (SumTwoElemArray ': xs) where
+instance (AesonOptions xs) => AesonOptions (SumTwoElemArray ': xs) where
   aesonOptions = (aesonOptions @xs) { sumEncoding = ObjectWithSingleField }
