diff --git a/Test/QuickCheck.hs b/Test/QuickCheck.hs
--- a/Test/QuickCheck.hs
+++ b/Test/QuickCheck.hs
@@ -313,8 +313,8 @@
 
 errorIfNotSuccess :: TQ.Result -> IO ()
 errorIfNotSuccess r = case r of
-  TQ.Success _ _ _ -> return ()
-  _                -> error "Failed"
+  TQ.Success {} -> return ()
+  _             -> error "Failed"
 
 firstBoolOrTrue :: b -> [Either a b] -> (b, [Either a b])
 firstBoolOrTrue true c = (b, c)
diff --git a/opaleye-sqlite.cabal b/opaleye-sqlite.cabal
--- a/opaleye-sqlite.cabal
+++ b/opaleye-sqlite.cabal
@@ -1,10 +1,14 @@
 name:            opaleye-sqlite
 copyright:       Copyright (c) 2014-2015 Purely Agile Limited
-version:         0.0.1.0
+version:         0.0.1.1
 synopsis:        An SQL-generating DSL targeting SQLite
 description:     An SQL-generating DSL targeting SQLite.  Allows
                  SQLite queries to be written within Haskell in a
                  typesafe and composable fashion.
+
+                 This package is old and unmaintained. It may work, or
+                 it may not. If you are interested in reviving it
+                 please file an issue on the GitHub repository.
 homepage:        https://github.com/tomjaguarpaw/haskell-opaleye
 bug-reports:     https://github.com/tomjaguarpaw/haskell-opaleye/issues
 license:         BSD3
@@ -13,7 +17,7 @@
 maintainer:      Purely Agile
 category:        Database
 build-type:      Simple
-cabal-version:   >= 1.8
+cabal-version:   1.18
 extra-doc-files: Doc/*.md
 tested-with:     GHC==7.10.1, GHC==7.8.4, GHC==7.6.3
 
@@ -22,22 +26,23 @@
   location: https://github.com/tomjaguarpaw/haskell-opaleye.git
 
 library
+  default-language: Haskell2010
   hs-source-dirs: src
   build-depends:
       base                >= 4       && < 5
     , base16-bytestring   >= 0.1.1.6 && < 0.2
     , case-insensitive    >= 1.2     && < 1.3
     , bytestring          >= 0.10    && < 0.11
-    , contravariant       >= 1.2     && < 1.4
+    , contravariant       >= 1.2     && < 1.6
     , direct-sqlite       >= 2.3.13  && < 2.4
     , pretty              >= 1.1.1.0 && < 1.2
-    , product-profunctors >= 0.6.2   && < 0.7
-    , profunctors         >= 4.0     && < 5.2
-    , semigroups          >= 0.13    && < 0.17
+    , product-profunctors >= 0.6.2   && < 0.12
+    , profunctors         >= 4.0     && < 5.6
+    , semigroups          >= 0.13    && < 0.20
     , sqlite-simple
     , text                >= 0.11    && < 1.3
-    , transformers        >= 0.3     && < 0.5
-    , time                >= 1.4     && < 1.6
+    , transformers        >= 0.3     && < 0.6
+    , time                >= 1.4     && < 1.10
     , time-locale-compat  >= 0.1     && < 0.2
     , uuid                >= 1.3     && < 1.4
     , void                >= 0.4     && < 0.8
@@ -86,6 +91,7 @@
   ghc-options:     -Wall
 
 test-suite test
+  default-language: Haskell2010
   type: exitcode-stdio-1.0
   main-is: Test.hs
   other-modules: QuickCheck
@@ -103,6 +109,7 @@
   ghc-options: -Wall
 
 test-suite tutorial
+  default-language: Haskell2010
   type: exitcode-stdio-1.0
   main-is: Main.hs
   other-modules: TutorialAdvanced,
diff --git a/src/Opaleye/SQLite/Internal/HaskellDB/Sql/Print.hs b/src/Opaleye/SQLite/Internal/HaskellDB/Sql/Print.hs
--- a/src/Opaleye/SQLite/Internal/HaskellDB/Sql/Print.hs
+++ b/src/Opaleye/SQLite/Internal/HaskellDB/Sql/Print.hs
@@ -17,6 +17,7 @@
                                      commaH
                                     ) where
 
+import Prelude hiding ((<>))
 import Opaleye.SQLite.Internal.HaskellDB.Sql (SqlColumn(..), SqlDelete(..),
                                SqlExpr(..), SqlOrder(..), SqlInsert(..),
                                SqlUpdate(..), SqlTable(..))
diff --git a/src/Opaleye/SQLite/Internal/Order.hs b/src/Opaleye/SQLite/Internal/Order.hs
--- a/src/Opaleye/SQLite/Internal/Order.hs
+++ b/src/Opaleye/SQLite/Internal/Order.hs
@@ -10,6 +10,7 @@
 import qualified Data.Functor.Contravariant.Divisible as Divisible
 import qualified Data.Profunctor as P
 import qualified Data.Monoid as M
+import qualified Data.Semigroup as S
 import qualified Data.Void as Void
 
 {-|
@@ -28,9 +29,11 @@
 instance C.Contravariant Order where
   contramap f (Order g) = Order (P.lmap f g)
 
+instance S.Semigroup (Order a) where
+  Order o <> Order o' = Order (o `M.mappend` o')
+
 instance M.Monoid (Order a) where
   mempty = Order M.mempty
-  Order o `mappend` Order o' = Order (o `M.mappend` o')
 
 instance Divisible.Divisible Order where
   divide f o o' = M.mappend (C.contramap (fst . f) o)
diff --git a/src/Opaleye/SQLite/Internal/PackMap.hs b/src/Opaleye/SQLite/Internal/PackMap.hs
--- a/src/Opaleye/SQLite/Internal/PackMap.hs
+++ b/src/Opaleye/SQLite/Internal/PackMap.hs
@@ -40,7 +40,7 @@
 -- 'ProductProfunctor') in @s@ and @t@.  It is unclear at this point
 -- whether we want the same @Traversal@ laws to hold or not.  Our use
 -- cases may be much more general.
-data PackMap a b s t = PackMap (Applicative f =>
+data PackMap a b s t = PackMap (forall f. Applicative f =>
                                 (a -> f b) -> s -> f t)
 
 -- | Replaces the targeted occurences of @a@ in @s@ with @b@ (changing
diff --git a/src/Opaleye/SQLite/Internal/Table.hs b/src/Opaleye/SQLite/Internal/Table.hs
--- a/src/Opaleye/SQLite/Internal/Table.hs
+++ b/src/Opaleye/SQLite/Internal/Table.hs
@@ -16,7 +16,8 @@
 import           Data.Profunctor.Product (ProductProfunctor, empty, (***!))
 import qualified Data.Profunctor.Product as PP
 import qualified Data.List.NonEmpty as NEL
-import           Data.Monoid (Monoid, mempty, mappend)
+import           Data.Semigroup (Semigroup, (<>))
+import           Data.Monoid (Monoid, mempty)
 import           Control.Applicative (Applicative, pure, (<*>), liftA2)
 import qualified Control.Arrow as Arr
 
@@ -108,10 +109,12 @@
 
 data Zip a = Zip { unZip :: NEL.NonEmpty [a] }
 
+instance Semigroup (Zip a) where
+  Zip xs <> Zip ys = Zip (NEL.zipWith (++) xs ys)
+
 instance Monoid (Zip a) where
   mempty = Zip mempty'
     where mempty' = [] `NEL.cons` mempty'
-  Zip xs `mappend` Zip ys = Zip (NEL.zipWith (++) xs ys)
 
 required :: String -> Writer (Column a) (Column a)
 required columnName =
diff --git a/src/Opaleye/SQLite/PGTypes.hs b/src/Opaleye/SQLite/PGTypes.hs
--- a/src/Opaleye/SQLite/PGTypes.hs
+++ b/src/Opaleye/SQLite/PGTypes.hs
@@ -86,7 +86,7 @@
 pgBool = IPT.literalColumn . HPQ.BoolLit
 
 pgUUID :: UUID.UUID -> Column PGUuid
-pgUUID = C.unsafeCoerceColumn . pgString . UUID.toString
+pgUUID = IPT.literalColumn . HPQ.StringLit . UUID.toString
 
 unsafePgFormatTime :: Time.FormatTime t => HPQ.Name -> String -> t -> Column c
 unsafePgFormatTime = IPT.unsafePgFormatTime
