diff --git a/friday.cabal b/friday.cabal
--- a/friday.cabal
+++ b/friday.cabal
@@ -2,7 +2,7 @@
 --                      +-+------- breaking API changes
 --                      | | +----- non-breaking API additions
 --                      | | | +--- code changes with no API change
-version:                0.2.1.0
+version:                0.2.1.1
 synopsis:               A functional image processing library for Haskell.
 homepage:               https://github.com/RaphaelJ/friday
 license:                LGPL-3
@@ -75,7 +75,6 @@
     default-language:   Haskell2010
 
     build-depends:      base                    >= 4            && < 5
-                      , bytestring              >= 0.10         && < 1
                       , convertible             >= 1            && < 2
                       , deepseq                 >= 1.3          && < 2
                       , primitive               >= 0.5.2.1      && < 0.6
diff --git a/src/Vision/Detector/Edge.hs b/src/Vision/Detector/Edge.hs
--- a/src/Vision/Detector/Edge.hs
+++ b/src/Vision/Detector/Edge.hs
@@ -5,7 +5,7 @@
 module Vision.Detector.Edge (canny) where
 
 import Control.Monad (when)
-import Control.Monad.ST.Safe (ST)
+import Control.Monad.ST (ST)
 import Data.Int
 import Data.Vector.Storable (enumFromN, forM_)
 import Foreign.Storable (Storable)
diff --git a/src/Vision/Image/Class.hs b/src/Vision/Image/Class.hs
--- a/src/Vision/Image/Class.hs
+++ b/src/Vision/Image/Class.hs
@@ -123,7 +123,7 @@
 
 -- | Provides an abstraction over the internal representation of an image.
 --
--- Image origin is located in the lower left corner.
+-- Image origin (@'ix2' 0 0@) is located in the upper left corner.
 class MaskedImage i => Image i where
     -- | Returns the pixel value at 'Z :. y :. x'.
     index :: i -> Point -> ImagePixel i
diff --git a/src/Vision/Image/Filter/Internal.hs b/src/Vision/Image/Filter/Internal.hs
--- a/src/Vision/Image/Filter/Internal.hs
+++ b/src/Vision/Image/Filter/Internal.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE BangPatterns
+           , CPP
            , FlexibleContexts
            , FlexibleInstances
            , GADTs
@@ -53,9 +54,12 @@
     , Mean, mean
     ) where
 
+#if __GLASGOW_HASKELL__ < 710
+import Data.Word
+#endif
+
 import Data.List
 import Data.Ratio
-import Data.Word
 import Foreign.Storable (Storable)
 
 import qualified Data.Vector.Storable as V
diff --git a/src/Vision/Image/HSV/Type.hs b/src/Vision/Image/HSV/Type.hs
--- a/src/Vision/Image/HSV/Type.hs
+++ b/src/Vision/Image/HSV/Type.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE BangPatterns
+           , CPP
            , RecordWildCards
            , TypeFamilies
            , TypeOperators #-}
@@ -7,7 +8,10 @@
       HSV, HSVPixel (..), HSVDelayed
     ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative ((<$>), (<*>))
+#endif
+
 import Data.Word
 import Foreign.Storable (Storable (..))
 import Foreign.Ptr (castPtr, plusPtr)
diff --git a/src/Vision/Image/Mutable.hs b/src/Vision/Image/Mutable.hs
--- a/src/Vision/Image/Mutable.hs
+++ b/src/Vision/Image/Mutable.hs
@@ -10,7 +10,7 @@
     ) where
 
 import Control.Monad.Primitive (PrimMonad (..))
-import Control.Monad.ST.Safe (ST, runST)
+import Control.Monad.ST (ST, runST)
 import Data.Vector.Storable (MVector)
 import Foreign.Storable (Storable)
 import Prelude hiding (read)
diff --git a/src/Vision/Image/RGB/Type.hs b/src/Vision/Image/RGB/Type.hs
--- a/src/Vision/Image/RGB/Type.hs
+++ b/src/Vision/Image/RGB/Type.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE BangPatterns
+           , CPP
            , RecordWildCards
            , TypeFamilies
            , TypeOperators #-}
@@ -7,7 +8,10 @@
       RGB, RGBPixel (..), RGBDelayed
     ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative ((<$>), (<*>))
+#endif
+
 import Data.Word
 import Foreign.Storable (Storable (..))
 import Foreign.Ptr (castPtr, plusPtr)
diff --git a/src/Vision/Image/RGBA/Type.hs b/src/Vision/Image/RGBA/Type.hs
--- a/src/Vision/Image/RGBA/Type.hs
+++ b/src/Vision/Image/RGBA/Type.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE BangPatterns
+           , CPP
            , RecordWildCards
            , TypeFamilies
            , TypeOperators #-}
@@ -7,7 +8,10 @@
       RGBA, RGBAPixel (..), RGBADelayed
     ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative ((<$>), (<*>))
+#endif
+
 import Data.Word
 import Foreign.Storable (Storable (..))
 import Foreign.Ptr (castPtr, plusPtr)
diff --git a/src/Vision/Image/Type.hs b/src/Vision/Image/Type.hs
--- a/src/Vision/Image/Type.hs
+++ b/src/Vision/Image/Type.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE BangPatterns
+           , CPP
            , FlexibleContexts
            , FlexibleInstances
            , MultiParamTypeClasses
@@ -18,7 +19,10 @@
     , delay, compute, delayed, manifest
     ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative ((<$>))
+#endif
+
 import Control.DeepSeq (NFData (..))
 import Data.Convertible (Convertible (..), convert)
 import Data.Vector.Storable (Vector, create, enumFromN, forM_, generate)
diff --git a/src/Vision/Primitive/Shape.hs b/src/Vision/Primitive/Shape.hs
--- a/src/Vision/Primitive/Shape.hs
+++ b/src/Vision/Primitive/Shape.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE BangPatterns
+           , CPP
            , FlexibleInstances
            , TypeOperators #-}
 
@@ -20,8 +21,10 @@
     , ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, ix9
 ) where
 
+#if __GLASGOW_HASKELL__ < 710
 import Control.Applicative
 import Data.Word
+#endif
 
 import Foreign.Storable (Storable (..))
 import Foreign.Ptr (castPtr, plusPtr)
