diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Changes in 0.6.1.1
+
+  * GHC 7.8 support
+
+
 Changes in 0.6.1.0
 
   * `distribute', `collect' and their monadic variants added.
diff --git a/Data/Vector/Fixed.hs b/Data/Vector/Fixed.hs
--- a/Data/Vector/Fixed.hs
+++ b/Data/Vector/Fixed.hs
@@ -160,7 +160,6 @@
 import qualified Data.Vector.Fixed.Cont as C
 import Data.Vector.Fixed.Internal
 
-import qualified Prelude as P
 import Prelude hiding ( replicate,map,zipWith,maximum,minimum,and,or,all,any
                       , foldl,foldr,foldl1,length,sum,reverse
                       , head,tail,mapM,mapM_,sequence,sequence_
diff --git a/Data/Vector/Fixed/Boxed.hs b/Data/Vector/Fixed/Boxed.hs
--- a/Data/Vector/Fixed/Boxed.hs
+++ b/Data/Vector/Fixed/Boxed.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE StandaloneDeriving    #-}
 {-# LANGUAGE TypeFamilies          #-}
 {-# LANGUAGE FlexibleInstances     #-}
@@ -41,8 +42,13 @@
 -- | Mutable unboxed vector with fixed length
 newtype MVec n s a = MVec (MutableArray s a)
 
+#if __GLASGOW_HASKELL__ >= 708
+deriving instance Typeable Vec
+deriving instance Typeable MVec
+#else
 deriving instance Typeable2 Vec
 deriving instance Typeable3 MVec
+#endif
 
 type Vec2 = Vec (S (S Z))
 type Vec3 = Vec (S (S (S Z)))
diff --git a/Data/Vector/Fixed/Primitive.hs b/Data/Vector/Fixed/Primitive.hs
--- a/Data/Vector/Fixed/Primitive.hs
+++ b/Data/Vector/Fixed/Primitive.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE StandaloneDeriving    #-}
 {-# LANGUAGE TypeFamilies          #-}
 {-# LANGUAGE FlexibleInstances     #-}
@@ -44,8 +45,13 @@
 -- | Mutable unboxed vector with fixed length
 newtype MVec n s a = MVec (MutableByteArray s)
 
+#if __GLASGOW_HASKELL__ >= 708
+deriving instance Typeable Vec
+deriving instance Typeable MVec
+#else
 deriving instance Typeable2 Vec
 deriving instance Typeable3 MVec
+#endif
 
 type Vec2 = Vec (S (S Z))
 type Vec3 = Vec (S (S (S Z)))
diff --git a/Data/Vector/Fixed/Storable.hs b/Data/Vector/Fixed/Storable.hs
--- a/Data/Vector/Fixed/Storable.hs
+++ b/Data/Vector/Fixed/Storable.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                   #-}
 {-# LANGUAGE StandaloneDeriving    #-}
 {-# LANGUAGE TypeFamilies          #-}
 {-# LANGUAGE FlexibleInstances     #-}
@@ -51,8 +52,13 @@
 -- | Storable-based mutable vector with fixed length
 newtype MVec n s a = MVec (ForeignPtr a)
 
+#if __GLASGOW_HASKELL__ >= 708
+deriving instance Typeable Vec
+deriving instance Typeable MVec
+#else
 deriving instance Typeable2 Vec
 deriving instance Typeable3 MVec
+#endif
 
 type Vec2 = Vec (S (S Z))
 type Vec3 = Vec (S (S (S Z)))
diff --git a/Data/Vector/Fixed/Unboxed.hs b/Data/Vector/Fixed/Unboxed.hs
--- a/Data/Vector/Fixed/Unboxed.hs
+++ b/Data/Vector/Fixed/Unboxed.hs
@@ -44,8 +44,13 @@
 data family Vec  n a
 data family MVec n s a
 
+#if __GLASGOW_HASKELL__ >= 708
+deriving instance Typeable Vec
+deriving instance Typeable MVec
+#else
 deriving instance Typeable2 Vec
 deriving instance Typeable3 MVec
+#endif
 
 type Vec2 = Vec (S (S Z))
 type Vec3 = Vec (S (S (S Z)))
diff --git a/fixed-vector.cabal b/fixed-vector.cabal
--- a/fixed-vector.cabal
+++ b/fixed-vector.cabal
@@ -1,5 +1,5 @@
 Name:           fixed-vector
-Version:        0.6.1.0
+Version:        0.6.1.1
 Synopsis:       Generic vectors with statically known size.
 Description:
   Generic library for vectors with statically known
