diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.1.1
+
+Tweak version bounds and insignificant cleanup.
+
 ## 0.1.0
 
 Initial release.
diff --git a/docs-extra/backtrack.png b/docs-extra/backtrack.png
Binary files a/docs-extra/backtrack.png and b/docs-extra/backtrack.png differ
diff --git a/docs-extra/test.png b/docs-extra/test.png
new file mode 100644
Binary files /dev/null and b/docs-extra/test.png differ
diff --git a/docs-extra/test.tex b/docs-extra/test.tex
new file mode 100644
--- /dev/null
+++ b/docs-extra/test.tex
@@ -0,0 +1,18 @@
+\documentclass[convert={size=250}]{standalone}
+
+\usepackage{tikz}
+\usepackage{tikz-qtree}
+\usepackage{amsmath}
+
+\begin{document}
+
+% $(\lambda x.M)N$
+% $y=f(x)$
+% $\mathcal{M} \models F$
+
+\begin{equation}
+    A \models B \text{ iff } \models A \implies B
+\end{equation}
+
+\end{document}
+
diff --git a/pattern-trie.cabal b/pattern-trie.cabal
--- a/pattern-trie.cabal
+++ b/pattern-trie.cabal
@@ -1,5 +1,5 @@
 name:     pattern-trie
-version:  0.1.0
+version:  0.1.1
 category: Data
 synopsis: Pattern tries
 description:
@@ -36,11 +36,11 @@
         -- -dno-suppress-type-signatures
         -- -dno-suppress-idinfo
     build-depends:
-        base                 >= 4.9   && < 5
+        base                 >= 4.11  && < 5
       , bytestring           >= 0.10  && < 1.0
-      , containers           >= 0.5.7 && < 0.6
+      , containers           >= 0.5.7 && < 0.7
       , deepseq              >= 1.4.3 && < 1.5
-      , hashable             >= 1.2   && < 1.3
+      , hashable             >= 1.2   && < 1.4
       , text                 >= 1.0   && < 2.0
       , unordered-containers >= 0.2   && < 0.3
 
@@ -90,4 +90,3 @@
 
     if impl(ghc < 8.4)
         build-depends: bytestring-trie
-
diff --git a/src/Data/Trie/Pattern.hs b/src/Data/Trie/Pattern.hs
--- a/src/Data/Trie/Pattern.hs
+++ b/src/Data/Trie/Pattern.hs
@@ -7,7 +7,6 @@
   , DeriveGeneric
   , DeriveAnyClass
   , DerivingStrategies
-  , GeneralizedNewtypeDeriving
   , TupleSections
 #-}
 
@@ -156,6 +155,8 @@
 import qualified Data.Sequence       as Seq
 import qualified Data.Traversable    as Traversable
 
+-- {-# ANN module "HLint: ignore Eta reduce" #-}
+
 -- | An unordered map from 'Pattern's of strings of type @s@ to values
 -- of type @a@.
 data Trie s a = Trie
@@ -327,10 +328,7 @@
     go _  (EqStr _ :<| p1') (AnyStr   :<| p2') = go False p1' p2'
     go _  (AnyStr  :<| p1') (EqStr _  :<| p2') = go False p1' p2'
     go eq (AnyStr  :<| p1') (AnyStr   :<| p2') = go eq    p1' p2'
-    go eq (EqStr s :<| p1') (EqStr s' :<| p2') =
-        if s /= s'
-            then False
-            else go eq p1' p2'
+    go eq (EqStr s :<| p1') (EqStr s' :<| p2') = s == s' && go eq p1' p2'
 
 -- | Apply a string to a pattern, returning the unmatched
 -- suffix of the pattern together with the captured chunks and the
diff --git a/test/Test/Data/Trie/Pattern.hs b/test/Test/Data/Trie/Pattern.hs
--- a/test/Test/Data/Trie/Pattern.hs
+++ b/test/Test/Data/Trie/Pattern.hs
@@ -3,9 +3,7 @@
 -- file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 {-# LANGUAGE CPP #-}
-{-# LANGUAGE LambdaCase #-}
 {-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE TupleSections #-}
 
 module Test.Data.Trie.Pattern (tests) where
 
@@ -15,12 +13,9 @@
 import Data.Functor.Identity
 import Data.Functor.Compose
 import Data.List (inits)
-#if __GLASGOW_HASKELL__ < 804
-import Data.Semigroup
-#endif
 import Data.Sequence (Seq (..))
 import Data.Trie.Pattern
-import Test.Tasty
+import Test.Tasty (TestTree, testGroup)
 import Test.Tasty.QuickCheck
 
 import qualified Data.ByteString.Char8 as C8
