diff --git a/Data/Vector/Unboxed/Deriving.hs b/Data/Vector/Unboxed/Deriving.hs
--- a/Data/Vector/Unboxed/Deriving.hs
+++ b/Data/Vector/Unboxed/Deriving.hs
@@ -114,7 +114,17 @@
 
     s <- VarT <$> newName "s"
     let newtypeMVector = NewtypeInstD [] ''MVector [s, typ]
-            (NormalC mvName [(NotStrict, ConT ''MVector `AppT` s `AppT` rep)]) []
+#if MIN_VERSION_template_haskell(2,11,0)
+            Nothing
+#endif
+            (NormalC mvName [(
+#if MIN_VERSION_template_haskell(2,11,0)
+                               Bang NoSourceUnpackedness NoSourceStrictness
+#else
+                               NotStrict
+#endif
+                             , ConT ''MVector `AppT` s `AppT` rep
+                             )]) []
     let mvCon = ConE mvName
     let instanceMVector = InstanceD cxts
             (ConT ''M.MVector `AppT` ConT ''MVector `AppT` typ) $ concat
@@ -135,7 +145,17 @@
             , wrap 'M.basicUnsafeGrow       [mv, n]     (liftE mvCon) ]
 
     let newtypeVector = NewtypeInstD [] ''Vector [typ]
-            (NormalC vName [(NotStrict, ConT ''Vector `AppT` rep)]) []
+#if MIN_VERSION_template_haskell(2,11,0)
+            Nothing
+#endif
+            (NormalC vName [(
+#if MIN_VERSION_template_haskell(2,11,0)
+                              Bang NoSourceUnpackedness NoSourceStrictness
+#else
+                              NotStrict
+#endif
+                            , ConT ''Vector `AppT` rep
+                            )]) []
     let vCon  = ConE vName
     let instanceVector = InstanceD cxts
             (ConT ''G.Vector `AppT` ConT ''Vector `AppT` typ) $ concat
diff --git a/vector-th-unbox.cabal b/vector-th-unbox.cabal
--- a/vector-th-unbox.cabal
+++ b/vector-th-unbox.cabal
@@ -1,5 +1,5 @@
 name:           vector-th-unbox
-version:        0.2.1.3
+version:        0.2.1.4
 synopsis:       Deriver for Data.Vector.Unboxed using Template Haskell
 description:
     A Template Haskell deriver for unboxed vectors, given a pair of coercion
