diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+# 1.7.1 (2018-01-29)
+
+- Correct *Safe Haskell* annotations. See https://github.com/ekmett/semigroupoids/issues/69
+- Bump lower bounds
+
 # 1.7 (2017-10-01)
 
 - `HashMap` instances changed
diff --git a/lattices.cabal b/lattices.cabal
--- a/lattices.cabal
+++ b/lattices.cabal
@@ -1,5 +1,5 @@
 name:               lattices
-version:            1.7
+version:            1.7.1
 cabal-version:      >= 1.10
 category:           Math
 license:            BSD3
@@ -39,22 +39,22 @@
                     Algebra.PartialOrd,
                     Algebra.PartialOrd.Instances
 
-  build-depends:    base                       >= 4.5  && < 4.11,
-                    base-compat                >= 0.9.3 && < 0.10,
-                    containers                 >= 0.3  && < 0.6,
-                    deepseq                    >= 1.1  && < 1.5,
-                    hashable                   >= 1.2  && < 1.3,
-                    tagged                     >= 0.7  && < 0.9,
-                    unordered-containers       >= 0.2  && < 0.3,
-                    semigroupoids              >= 5.2  && < 5.3,
-                    universe-base              >= 1.0  && < 1.1,
-                    universe-reverse-instances >= 1.0  && < 1.1
+  build-depends:    base                       >= 4.5     && < 4.11,
+                    base-compat                >= 0.9.3   && < 0.10,
+                    containers                 >= 0.4.2.1 && < 0.6,
+                    deepseq                    >= 1.3.0.0 && < 1.5,
+                    hashable                   >= 1.2.6.1 && < 1.3,
+                    tagged                     >= 0.8.5   && < 0.9,
+                    unordered-containers       >= 0.2.6.0 && < 0.3,
+                    semigroupoids              >= 5.2.2   && < 5.3,
+                    universe-base              >= 1.0     && < 1.1,
+                    universe-reverse-instances >= 1.0     && < 1.1
   hs-source-dirs:   src
   ghc-options:      -Wall
   default-language: Haskell2010
 
   if !impl(ghc >= 8.0)
-    build-depends:  semigroups                 >= 0.16 && < 0.19
+    build-depends:  semigroups                 >= 0.18.3 && < 0.19
 
   if !impl(ghc >= 7.10)
     build-depends:   void                       >= 0.7  && < 0.8,
diff --git a/src/Algebra/Lattice.hs b/src/Algebra/Lattice.hs
--- a/src/Algebra/Lattice.hs
+++ b/src/Algebra/Lattice.hs
@@ -1,15 +1,19 @@
 {-# LANGUAGE CPP                #-}
 {-# LANGUAGE FlexibleInstances  #-}
-#if __GLASGOW_HASKELL__ >=710 && MIN_VERSION_unordered_containers(0,2,6)
-{-# LANGUAGE Safe               #-}
-#else
-{-# LANGUAGE Trustworthy        #-}
-#endif
 {-# LANGUAGE DeriveDataTypeable #-}
 {-# LANGUAGE DeriveGeneric      #-}
 #if __GLASGOW_HASKELL__ >= 707 && __GLASGOW_HASKELL__ < 709
 {-# OPTIONS_GHC -fno-warn-amp #-}
 #endif
+
+#define unordered_containers_SAFE MIN_VERSION_unordered_containers(0,2,6)
+#define semigroupoids_SAFE (!MIN_VERSION_semigroupoids(5,2,2) || __GLASGOW_HASKELL__ >= 802)
+
+#if __GLASGOW_HASKELL__ >= 710 && unordered_containers_SAFE && semigroupoids_SAFE
+{-# LANGUAGE Safe               #-}
+#else
+{-# LANGUAGE Trustworthy        #-}
+#endif
 ----------------------------------------------------------------------------
 -- |
 -- Module      :  Algebra.Lattice
@@ -126,7 +130,7 @@
 -- > Absorption: a \/ (a /\ b) == a /\ (a \/ b) == a
 class (JoinSemiLattice a, MeetSemiLattice a) => Lattice a where
 
--- | A join-semilattice with some element |bottom| that \/ approaches.
+-- | A join-semilattice with an identity element 'bottom' for '\/'.
 --
 -- > Identity: x \/ bottom == x
 class JoinSemiLattice a => BoundedJoinSemiLattice a where
@@ -140,7 +144,7 @@
 joins1 :: (JoinSemiLattice a, Foldable1 f) => f a -> a
 joins1 =  getJoin . foldMap1 Join
 
--- | A meet-semilattice with some element |top| that /\ approaches.
+-- | A meet-semilattice with an identity element 'top' for '/\'.
 --
 -- > Identity: x /\ top == x
 class MeetSemiLattice a => BoundedMeetSemiLattice a where
