diff --git a/Data/Sized.hs b/Data/Sized.hs
--- a/Data/Sized.hs
+++ b/Data/Sized.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE AllowAmbiguousTypes, ConstraintKinds, DataKinds               #-}
+{-# LANGUAGE AllowAmbiguousTypes, CPP, ConstraintKinds, DataKinds          #-}
 {-# LANGUAGE DeriveDataTypeable, DeriveFoldable, DeriveFunctor             #-}
 {-# LANGUAGE DeriveTraversable, ExplicitNamespaces, FlexibleContexts       #-}
 {-# LANGUAGE FlexibleInstances, GADTs, GeneralizedNewtypeDeriving          #-}
@@ -7,6 +7,10 @@
 {-# LANGUAGE PatternSynonyms, PolyKinds, ScopedTypeVariables, RankNTypes   #-}
 {-# LANGUAGE StandaloneDeriving, TypeApplications, TypeFamilies            #-}
 {-# LANGUAGE TypeInType, TypeOperators, UndecidableInstances, ViewPatterns #-}
+#if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ >= 806
+{-# LANGUAGE NoStarIsType #-}
+#endif
+
 {-# OPTIONS_GHC -fno-warn-type-defaults -fno-warn-orphans #-}
 {-# OPTIONS_GHC -fenable-rewrite-rules #-}
 -- | This module provides the functionality to make length-parametrized types
diff --git a/Data/Sized/Builtin.hs b/Data/Sized/Builtin.hs
--- a/Data/Sized/Builtin.hs
+++ b/Data/Sized/Builtin.hs
@@ -1,6 +1,9 @@
-{-# LANGUAGE DataKinds, GADTs, KindSignatures, MultiParamTypeClasses #-}
-{-# LANGUAGE PatternSynonyms, PolyKinds, RankNTypes, TypeInType      #-}
-{-# LANGUAGE ViewPatterns                                            #-}
+{-# LANGUAGE CPP, DataKinds, GADTs, KindSignatures, MultiParamTypeClasses #-}
+{-# LANGUAGE PatternSynonyms, PolyKinds, RankNTypes, TypeInType           #-}
+{-# LANGUAGE ViewPatterns                                                 #-}
+#if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ >= 806
+{-# LANGUAGE NoStarIsType #-}
+#endif
 -- | This module exports @'S.Sized'@ type specialized to
 --   GHC's built-in type numeral @'TL.Nat'@.
 module Data.Sized.Builtin
diff --git a/Data/Sized/Flipped.hs b/Data/Sized/Flipped.hs
--- a/Data/Sized/Flipped.hs
+++ b/Data/Sized/Flipped.hs
@@ -1,18 +1,21 @@
-{-# LANGUAGE ConstraintKinds, DataKinds, DeriveDataTypeable, DeriveFunctor #-}
-{-# LANGUAGE DeriveTraversable, EmptyDataDecls, ExplicitNamespaces         #-}
-{-# LANGUAGE FlexibleContexts, FlexibleInstances                           #-}
+{-# LANGUAGE CPP, ConstraintKinds, DataKinds, DeriveDataTypeable           #-}
+{-# LANGUAGE DeriveFunctor, DeriveTraversable, EmptyDataDecls              #-}
+{-# LANGUAGE ExplicitNamespaces, FlexibleContexts, FlexibleInstances       #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving, KindSignatures                    #-}
 {-# LANGUAGE LiberalTypeSynonyms, MultiParamTypeClasses, PatternSynonyms   #-}
 {-# LANGUAGE PolyKinds, RankNTypes, ScopedTypeVariables                    #-}
 {-# LANGUAGE StandaloneDeriving, TemplateHaskell, TypeFamilies, TypeInType #-}
 {-# LANGUAGE TypeOperators, UndecidableInstances, ViewPatterns             #-}
+#if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ >= 806
+{-# LANGUAGE NoStarIsType #-}
+#endif
 module Data.Sized.Flipped (Flipped(..),
                            pattern (:<), pattern NilL,
                            pattern (:>), pattern NilR) where
 import qualified Data.Sized          as Orig
 import           Data.Sized.Internal
 
-import           Control.DeepSeq              (NFData(..))
+import           Control.DeepSeq              (NFData (..))
 import           Control.Lens.At              (Index, IxValue, Ixed (..))
 import           Control.Lens.TH              (makeWrapped)
 import           Control.Lens.Wrapped         (_Wrapped)
diff --git a/Data/Sized/Internal.hs b/Data/Sized/Internal.hs
--- a/Data/Sized/Internal.hs
+++ b/Data/Sized/Internal.hs
@@ -1,9 +1,13 @@
-{-# LANGUAGE ConstraintKinds, DataKinds, DeriveDataTypeable, DeriveFunctor #-}
-{-# LANGUAGE DeriveTraversable, ExplicitNamespaces, FlexibleContexts       #-}
-{-# LANGUAGE FlexibleInstances, GeneralizedNewtypeDeriving, KindSignatures #-}
+{-# LANGUAGE CPP, ConstraintKinds, DataKinds, DeriveDataTypeable           #-}
+{-# LANGUAGE DeriveFunctor, DeriveTraversable, ExplicitNamespaces          #-}
+{-# LANGUAGE FlexibleContexts, FlexibleInstances                           #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving, KindSignatures                    #-}
 {-# LANGUAGE LiberalTypeSynonyms, MultiParamTypeClasses, PolyKinds         #-}
 {-# LANGUAGE RankNTypes, ScopedTypeVariables, StandaloneDeriving           #-}
 {-# LANGUAGE TypeFamilies, TypeInType, TypeOperators, UndecidableInstances #-}
+#if __GLASGOW_HASKELL__ && __GLASGOW_HASKELL__ >= 806
+{-# LANGUAGE NoStarIsType #-}
+#endif
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 module Data.Sized.Internal
        (Sized(..),instLL, instFunctor, ListLikeF,
diff --git a/sized.cabal b/sized.cabal
--- a/sized.cabal
+++ b/sized.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                sized
-version:             0.3.0.1
+version:             0.4.0.0
 synopsis:            Sized sequence data-types
 description:         A wrapper to make length-parametrized data-type from ListLike data-types.
 license:             BSD3
