diff --git a/src/Yi/Style/Library.hs b/src/Yi/Style/Library.hs
--- a/src/Yi/Style/Library.hs
+++ b/src/Yi/Style/Library.hs
@@ -3,7 +3,6 @@
 
 import Yi.Style
 import Data.Prototype
-import Data.Monoid
 
 type Theme = Proto UIStyle
 
diff --git a/src/Yi/Syntax.hs b/src/Yi/Syntax.hs
--- a/src/Yi/Syntax.hs
+++ b/src/Yi/Syntax.hs
@@ -33,8 +33,6 @@
 import qualified  Data.Map as M
 import Control.Arrow
 import Yi.Style
-import Data.Foldable
-import Data.Traversable
 import Yi.Buffer.Basic
 import Yi.Region
 
diff --git a/src/Yi/Utils.hs b/src/Yi/Utils.hs
--- a/src/Yi/Utils.hs
+++ b/src/Yi/Utils.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE FlexibleContexts #-}
 {-# LANGUAGE FunctionalDependencies #-}
 {-# OPTIONS_HADDOCK show-extensions #-}
+{-# OPTIONS_GHC -fno-warn-orphans #-} -- for Binary instance of Hashmap
 
 -- |
 -- Module      :  Yi.Utils
@@ -15,12 +16,10 @@
 
 module Yi.Utils where
 
-import           Control.Applicative
 import           Lens.Micro.Platform
 import           Control.Monad.Base
 import           Data.Binary
 import           Data.Char (toLower)
-import           Data.Foldable hiding (all,any)
 import qualified Data.HashMap.Strict as HashMap
 import           Data.Hashable(Hashable)
 import qualified Data.List.PointedList as PL
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -1,3 +1,6 @@
+
+import Data.Bifunctor (first)
+
 import Test.Tasty
 import Test.Tasty.Hspec
 import Test.Tasty.QuickCheck
@@ -7,13 +10,13 @@
 import Text.Regex.TDFA.Pattern
 
 ignoreDoPa :: Pattern -> Pattern
-ignoreDoPa (PCarat  dp   ) = PCarat  (DoPa 0)
-ignoreDoPa (PDollar dp   ) = PDollar (DoPa 0)
-ignoreDoPa (PDot    dp   ) = PDot    (DoPa 0)
-ignoreDoPa (PAny    dp ps) = PAny    (DoPa 0) ps
-ignoreDoPa (PAnyNot dp ps) = PAnyNot (DoPa 0) ps
-ignoreDoPa (PEscape dp pc) = PEscape (DoPa 0) pc
-ignoreDoPa (PChar   dp pc) = PChar   (DoPa 0) pc
+ignoreDoPa (PCarat  _dp   ) = PCarat  (DoPa 0)
+ignoreDoPa (PDollar _dp   ) = PDollar (DoPa 0)
+ignoreDoPa (PDot    _dp   ) = PDot    (DoPa 0)
+ignoreDoPa (PAny    _dp ps) = PAny    (DoPa 0) ps
+ignoreDoPa (PAnyNot _dp ps) = PAnyNot (DoPa 0) ps
+ignoreDoPa (PEscape _dp pc) = PEscape (DoPa 0) pc
+ignoreDoPa (PChar   _dp pc) = PChar   (DoPa 0) pc
 ignoreDoPa (PGroup  m p  ) = PGroup  m   (ignoreDoPa p)
 ignoreDoPa (POr     l    ) = POr         (map ignoreDoPa l)
 ignoreDoPa (PConcat l    ) = PConcat     (map ignoreDoPa l)
@@ -25,15 +28,15 @@
 ignoreDoPa (PNonEmpty   p) = PNonEmpty   (ignoreDoPa p)
 ignoreDoPa p = p
 
-mapFst f (a,b) = (f a,b)
-
+main :: IO ()
 main = defaultMain =<< tests
 
+tests :: IO TestTree
 tests = testSpec "(Hspec tests)" $ do
   describe "reversePattern" $ do
     it "reverses normal characters" $
-      (mapFst ignoreDoPa . reversePattern <$> parseRegex "ab") 
-        `shouldBe` (mapFst ignoreDoPa <$> parseRegex "ba")
+      (first ignoreDoPa . reversePattern <$> parseRegex "ab") 
+        `shouldBe` (first ignoreDoPa <$> parseRegex "ba")
 
     it "changes carat to dollar" $
       (reversePattern <$> parseRegex "^") `shouldBe` parseRegex "$"
@@ -45,5 +48,5 @@
       property $ \p -> (reversePattern . reversePattern <$> parseRegex p) `shouldBe` parseRegex p
 
     it "recursively reverses patterns" $
-      (mapFst ignoreDoPa . reversePattern <$> parseRegex "foo|bar") 
-        `shouldBe` (mapFst ignoreDoPa <$> parseRegex "oof|rab")
+      (first ignoreDoPa . reversePattern <$> parseRegex "foo|bar") 
+        `shouldBe` (first ignoreDoPa <$> parseRegex "oof|rab")
diff --git a/yi-language.cabal b/yi-language.cabal
--- a/yi-language.cabal
+++ b/yi-language.cabal
@@ -3,7 +3,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           yi-language
-version:        0.13.7
+version:        0.14.0
 synopsis:       Collection of language-related Yi libraries.
 category:       Yi
 homepage:       https://github.com/yi-editor/yi#readme
@@ -34,13 +34,13 @@
     , template-haskell >= 2.4
     , containers
     , hashable >=1.1.2.5
-    , oo-prototypes
     , pointedlist >= 0.5
     , regex-base ==0.93.*
     , regex-tdfa >= 1.1 && <1.3
     , transformers-base
     , unordered-containers >= 0.1.3 && < 0.3
     , microlens-platform
+    , oo-prototypes
   build-tools:
       alex >= 3.0.3 && < 3.2.0 || >= 3.2.1
   exposed-modules:
@@ -71,7 +71,6 @@
     , template-haskell >= 2.4
     , containers
     , hashable >=1.1.2.5
-    , oo-prototypes
     , pointedlist >= 0.5
     , regex-base ==0.93.*
     , regex-tdfa >= 1.1 && <1.3
