diff --git a/Shakefile.hs b/Shakefile.hs
--- a/Shakefile.hs
+++ b/Shakefile.hs
@@ -36,8 +36,9 @@
 
   -- | sanity
   --
-  fake "." pats "sanity" $ const $
-    need [ "build-error", "lint", "weed" ]
+  fake "." pats "sanity" $ const $ do
+    need [ "build-error" ]
+    need [ "lint", "weed" ]
 
   -- | Default things to run.
   --
diff --git a/preamble.cabal b/preamble.cabal
--- a/preamble.cabal
+++ b/preamble.cabal
@@ -1,5 +1,5 @@
 name: preamble
-version: 0.0.53
+version: 0.0.54
 cabal-version: >=1.22
 build-type: Simple
 license: MIT
diff --git a/src/Preamble/Aeson.hs b/src/Preamble/Aeson.hs
--- a/src/Preamble/Aeson.hs
+++ b/src/Preamble/Aeson.hs
@@ -28,6 +28,11 @@
   { fieldLabelModifier     = unpack . toCamel . unprefix . pack
   , constructorTagModifier = unpack . toCamel . unprefix . lowerHead . pack
   , omitNothingFields      = True
+  , allNullaryToStringTag  = False
+  , sumEncoding            = TaggedObject
+    { tagFieldName         = "type"
+    , contentsFieldName    = "data"
+    }
   }
 
 -- | Derive fields with snake_case.
@@ -37,6 +42,11 @@
   { fieldLabelModifier     = unpack . toSnake . unprefix . pack
   , constructorTagModifier = unpack . toSnake . unprefix . lowerHead . pack
   , omitNothingFields      = True
+  , allNullaryToStringTag  = False
+  , sumEncoding            = TaggedObject
+    { tagFieldName         = "type"
+    , contentsFieldName    = "data"
+    }
   }
 
 -- | Derive fields with spinal-case.
@@ -46,6 +56,11 @@
   { fieldLabelModifier     = unpack . toSpinal . unprefix . pack
   , constructorTagModifier = unpack . toSpinal . unprefix . lowerHead . pack
   , omitNothingFields      = True
+  , allNullaryToStringTag  = False
+  , sumEncoding            = TaggedObject
+    { tagFieldName         = "type"
+    , contentsFieldName    = "data"
+    }
   }
 
 -- | Convert Aeson Result into a Maybe.
