diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 ## Unreleased changes
 
+## 2.13.1.4
+
+* Support `persistent-2.17`
+
 ## 2.13.1.3
 
 * Support persistent-2.14 with `SafeToInsert` class
diff --git a/persistent-test.cabal b/persistent-test.cabal
--- a/persistent-test.cabal
+++ b/persistent-test.cabal
@@ -1,109 +1,110 @@
-name:            persistent-test
-version:         2.13.1.3
-license:         MIT
-license-file:    LICENSE
-author:          Michael Snoyman <michael@snoyman.com>
-maintainer:      Michael Snoyman <michael@snoyman.com>
-synopsis:        Tests for Persistent
-description:     Tests for Persistent. This is only for use in developing libraries that should conform to the persistent interface, not for users of the persistent suite of database libraries.
-category:        Database, Yesod
-stability:       Stable
-cabal-version:   >= 1.10
-build-type:      Simple
-homepage:        http://www.yesodweb.com/book/persistent
-bug-reports:     https://github.com/yesodweb/persistent/issues
+name:               persistent-test
+version:            2.13.1.4
+license:            MIT
+license-file:       LICENSE
+author:             Michael Snoyman <michael@snoyman.com>
+maintainer:         Michael Snoyman <michael@snoyman.com>
+synopsis:           Tests for Persistent
+description:
+  Tests for Persistent. This is only for use in developing libraries that should conform to the persistent interface, not for users of the persistent suite of database libraries.
+
+category:           Database, Yesod
+stability:          Stable
+cabal-version:      >=1.10
+build-type:         Simple
+homepage:           http://www.yesodweb.com/book/persistent
+bug-reports:        https://github.com/yesodweb/persistent/issues
 extra-source-files: ChangeLog.md
 
 library
-    exposed-modules: 
-        CompositeTest
-        CustomPersistField
-        CustomPersistFieldTest
-        CustomPrimaryKeyReferenceTest
-        DataTypeTest
-        EmbedTest
-        EmbedOrderTest
-        EmptyEntityTest
-        EntityEmbedTest
-        EquivalentTypeTest
-        ForeignKey
-        HtmlTest
-        Init
-        LargeNumberTest
-        MaxLenTest
-        MaybeFieldDefsTest
-        MigrationColumnLengthTest
-        MigrationIdempotencyTest
-        MigrationOnlyTest
-        MigrationTest
-        MpsNoPrefixTest
-        MpsCustomPrefixTest
-        PersistentTest
-        PersistentTestModels
-        PersistentTestModelsImports
-        GeneratedColumnTestSQL
-        PersistTestPetType
-        PersistTestPetCollarType
-        PersistUniqueTest
-        PrimaryTest
-        RawSqlTest
-        ReadWriteTest
-        RenameTest
-        Recursive
-        SumTypeTest
-        TransactionLevelTest
-        TreeTest
-        TypeLitFieldDefsTest
-        UniqueTest
-        UpsertTest
-        LongIdentifierTest
-
-    hs-source-dirs: src
+  exposed-modules:
+    CompositeTest
+    CustomPersistField
+    CustomPersistFieldTest
+    CustomPrimaryKeyReferenceTest
+    DataTypeTest
+    EmbedOrderTest
+    EmbedTest
+    EmptyEntityTest
+    EntityEmbedTest
+    EquivalentTypeTest
+    ForeignKey
+    GeneratedColumnTestSQL
+    HtmlTest
+    Init
+    LargeNumberTest
+    LongIdentifierTest
+    MaxLenTest
+    MaybeFieldDefsTest
+    MigrationColumnLengthTest
+    MigrationIdempotencyTest
+    MigrationOnlyTest
+    MigrationTest
+    MpsCustomPrefixTest
+    MpsNoPrefixTest
+    PersistentTest
+    PersistentTestModels
+    PersistentTestModelsImports
+    PersistTestPetCollarType
+    PersistTestPetType
+    PersistUniqueTest
+    PrimaryTest
+    RawSqlTest
+    ReadWriteTest
+    Recursive
+    RenameTest
+    SumTypeTest
+    TransactionLevelTest
+    TreeTest
+    TypeLitFieldDefsTest
+    UniqueTest
+    UpsertTest
 
-    build-depends: 
-        base                     >= 4.9       && < 5
-      , aeson                    >= 1.0
-      , blaze-html               >= 0.9
-      , bytestring               >= 0.10
-      , conduit                  >= 1.2.12
-      , containers               >= 0.5
-      , exceptions               >= 0.8
-      , hspec                    >= 2.4
-      , hspec-expectations
-      , http-api-data
-      , HUnit
-      , monad-control
-      , monad-logger             >= 0.3.25
-      , mtl
-      , path-pieces              >= 0.2
-      , persistent               >= 2.14        && < 2.15
-      , QuickCheck               >= 2.9
-      , quickcheck-instances     >= 0.3
-      , random                   >= 1.1
-      , resourcet                >= 1.1
-      , text                     >= 1.2
-      , time                     >= 1.6
-      , transformers             >= 0.5
-      , transformers-base
-      , unliftio
-      , unliftio-core
-      , unordered-containers
+  hs-source-dirs:     src
+  build-depends:
+      aeson                 >=1.0
+    , base                  >=4.9    && <5
+    , blaze-html            >=0.9
+    , bytestring            >=0.10
+    , conduit               >=1.2.12
+    , containers            >=0.5
+    , exceptions            >=0.8
+    , hspec                 >=2.4
+    , hspec-expectations
+    , http-api-data
+    , HUnit
+    , monad-control
+    , monad-logger          >=0.3.25
+    , mtl
+    , path-pieces           >=0.2
+    , persistent            >=2.14   && <2.18
+    , QuickCheck            >=2.9
+    , quickcheck-instances  >=0.3
+    , random                >=1.1
+    , resourcet             >=1.1
+    , text                  >=1.2
+    , time                  >=1.6
+    , transformers          >=0.5
+    , transformers-base
+    , unliftio
+    , unliftio-core
+    , unordered-containers
 
-  default-language: Haskell2010
+  default-language:   Haskell2010
   default-extensions:
-      ExistentialQuantification
-      FlexibleContexts
-      FlexibleInstances
-      MultiParamTypeClasses
-      OverloadedStrings
-      QuasiQuotes
-      TemplateHaskell
-      TypeFamilies
-      StandaloneDeriving
-      DerivingStrategies
-      GeneralizedNewtypeDeriving
-      DataKinds
+    DataKinds
+    DerivingStrategies
+    ExistentialQuantification
+    FlexibleContexts
+    FlexibleInstances
+    GeneralizedNewtypeDeriving
+    MultiParamTypeClasses
+    OverloadedStrings
+    QuasiQuotes
+    StandaloneDeriving
+    TemplateHaskell
+    TypeFamilies
 
 source-repository head
   type:     git
-  location: git://github.com/yesodweb/persistent.git
+  location: https://github.com/yesodweb/persistent.git
diff --git a/src/CompositeTest.hs b/src/CompositeTest.hs
--- a/src/CompositeTest.hs
+++ b/src/CompositeTest.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-} -- FIXME
 {-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
 module CompositeTest where
diff --git a/src/CustomPersistFieldTest.hs b/src/CustomPersistFieldTest.hs
--- a/src/CustomPersistFieldTest.hs
+++ b/src/CustomPersistFieldTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE TypeOperators #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 module CustomPersistFieldTest (specsWith, customFieldMigrate) where
 
diff --git a/src/CustomPrimaryKeyReferenceTest.hs b/src/CustomPrimaryKeyReferenceTest.hs
--- a/src/CustomPrimaryKeyReferenceTest.hs
+++ b/src/CustomPrimaryKeyReferenceTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 -- This test is based on this issue: https://github.com/yesodweb/persistent/issues/421
 -- The primary thing this is testing is the migration, thus the test code itself being mostly negligible.
diff --git a/src/DataTypeTest.hs b/src/DataTypeTest.hs
--- a/src/DataTypeTest.hs
+++ b/src/DataTypeTest.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE TypeOperators #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 module DataTypeTest
     ( specsWith
@@ -116,10 +117,10 @@
             key <- insert x
             Just y <- get key
             liftIO $ do
-                let check :: (Eq a, Show a) => String -> (entity -> a) -> IO ()
+                let check :: (Eq a, Show a, HasCallStack) => String -> (entity -> a) -> IO ()
                     check s f = (s, f x) @=? (s, f y)
                 -- Check floating-point near equality
-                let check' :: (Fractional p, Show p, Real p) => String -> (entity -> p) -> IO ()
+                let check' :: (Fractional p, Show p, Real p, HasCallStack) => String -> (entity -> p) -> IO ()
                     check' s f
                         | abs (f x - f y) < 0.000001 = return ()
                         | otherwise = (s, f x) @=? (s, f y)
diff --git a/src/EmbedOrderTest.hs b/src/EmbedOrderTest.hs
--- a/src/EmbedOrderTest.hs
+++ b/src/EmbedOrderTest.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 module EmbedOrderTest (specsWith, embedOrderMigrate, cleanDB) where
diff --git a/src/EmbedTest.hs b/src/EmbedTest.hs
--- a/src/EmbedTest.hs
+++ b/src/EmbedTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE TypeOperators #-}
 {-# OPTIONS_GHC -Wno-orphans -O0 #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 module EmbedTest (specsWith, cleanDB, embedMigrate) where
diff --git a/src/EmptyEntityTest.hs b/src/EmptyEntityTest.hs
--- a/src/EmptyEntityTest.hs
+++ b/src/EmptyEntityTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE TypeOperators #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 module EmptyEntityTest (specsWith, migration, cleanDB) where
 
diff --git a/src/EntityEmbedTest.hs b/src/EntityEmbedTest.hs
--- a/src/EntityEmbedTest.hs
+++ b/src/EntityEmbedTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE TypeOperators #-}
 module EntityEmbedTest where
 
 -- because we are using a type alias we need to declare in a separate module
diff --git a/src/EquivalentTypeTest.hs b/src/EquivalentTypeTest.hs
--- a/src/EquivalentTypeTest.hs
+++ b/src/EquivalentTypeTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 
diff --git a/src/ForeignKey.hs b/src/ForeignKey.hs
--- a/src/ForeignKey.hs
+++ b/src/ForeignKey.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE AllowAmbiguousTypes, GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE ScopedTypeVariables, TypeApplications, UndecidableInstances #-}
+{-# LANGUAGE TypeOperators #-}
 
 module ForeignKey where
 
diff --git a/src/GeneratedColumnTestSQL.hs b/src/GeneratedColumnTestSQL.hs
--- a/src/GeneratedColumnTestSQL.hs
+++ b/src/GeneratedColumnTestSQL.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 module GeneratedColumnTestSQL (specsWith) where
diff --git a/src/HtmlTest.hs b/src/HtmlTest.hs
--- a/src/HtmlTest.hs
+++ b/src/HtmlTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE DataKinds, UndecidableInstances #-}
+{-# LANGUAGE TypeOperators #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 module HtmlTest (specsWith, cleanDB, htmlMigrate) where
 
diff --git a/src/Init.hs b/src/Init.hs
--- a/src/Init.hs
+++ b/src/Init.hs
@@ -3,6 +3,7 @@
 {-# LANGUAGE GADTs #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE TypeApplications #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# OPTIONS_GHC -fno-warn-orphans #-}
 
diff --git a/src/LargeNumberTest.hs b/src/LargeNumberTest.hs
--- a/src/LargeNumberTest.hs
+++ b/src/LargeNumberTest.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 module LargeNumberTest where
 
diff --git a/src/LongIdentifierTest.hs b/src/LongIdentifierTest.hs
--- a/src/LongIdentifierTest.hs
+++ b/src/LongIdentifierTest.hs
@@ -9,6 +9,7 @@
 {-# LANGUAGE QuasiQuotes #-}
 {-# LANGUAGE TemplateHaskell #-}
 {-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 module LongIdentifierTest where
 
diff --git a/src/MaxLenTest.hs b/src/MaxLenTest.hs
--- a/src/MaxLenTest.hs
+++ b/src/MaxLenTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE TypeOperators #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 
 module MaxLenTest (specsWith, maxlenMigrate) where
diff --git a/src/MaybeFieldDefsTest.hs b/src/MaybeFieldDefsTest.hs
--- a/src/MaybeFieldDefsTest.hs
+++ b/src/MaybeFieldDefsTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE DeriveAnyClass #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 
diff --git a/src/MigrationColumnLengthTest.hs b/src/MigrationColumnLengthTest.hs
--- a/src/MigrationColumnLengthTest.hs
+++ b/src/MigrationColumnLengthTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 module MigrationColumnLengthTest where
 
diff --git a/src/MigrationIdempotencyTest.hs b/src/MigrationIdempotencyTest.hs
--- a/src/MigrationIdempotencyTest.hs
+++ b/src/MigrationIdempotencyTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 module MigrationIdempotencyTest where
 
diff --git a/src/MigrationOnlyTest.hs b/src/MigrationOnlyTest.hs
--- a/src/MigrationOnlyTest.hs
+++ b/src/MigrationOnlyTest.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE TypeApplications, UndecidableInstances #-}
+{-# LANGUAGE TypeApplications, TypeOperators, UndecidableInstances #-}
 
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 
diff --git a/src/MigrationTest.hs b/src/MigrationTest.hs
--- a/src/MigrationTest.hs
+++ b/src/MigrationTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 module MigrationTest where
 
diff --git a/src/PersistUniqueTest.hs b/src/PersistUniqueTest.hs
--- a/src/PersistUniqueTest.hs
+++ b/src/PersistUniqueTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 module PersistUniqueTest where
 
@@ -50,6 +51,18 @@
             Just vk <- get k
             Just vu <- getBy (UniqueBar b)
             vu @== Entity k vk
+
+    describe "existsBy" $ do
+        it "works to query the existence of a record in the database" $ runDb $ do
+            let b = 5
+            k <- insert Fo { foFoo = 3, foBar = b }
+            result <- existsBy $ UniqueBar b
+            result @== True
+
+        it "returns false for nonexistent records" $ runDb $ do
+            insert_ Fo { foFoo = 3, foBar = 5 }
+            result <- existsBy $ UniqueBar 17
+            result @== False
 
     describe "insertUniqueEntity" $ do
         it "inserts a value if no conflicts are present" $ runDb $ do
diff --git a/src/PersistentTest.hs b/src/PersistentTest.hs
--- a/src/PersistentTest.hs
+++ b/src/PersistentTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE RecordWildCards, UndecidableInstances #-}
 
 module PersistentTest
@@ -650,7 +651,7 @@
     it "provides comments on entity def" $ do
       getEntityComments edef
         `shouldBe`
-          Just "This is a doc comment for a relationship.\nYou need to put the pipe character for each line of documentation.\nBut you can resume the doc comments afterwards.\n"
+          Just "This is a doc comment for a relationship.\nOnly the first line requires a pipe.\nPipes are optional on subsequent lines.\n"
     it "provides comments on the field" $ do
       let [nameField, _] = getEntityFields edef
       fieldComments nameField
diff --git a/src/PersistentTestModels.hs b/src/PersistentTestModels.hs
--- a/src/PersistentTestModels.hs
+++ b/src/PersistentTestModels.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE StandaloneDeriving #-}
 {-# LANGUAGE DeriveGeneric #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-} -- FIXME
 
 {-# OPTIONS_GHC -ddump-splices #-}
@@ -109,9 +110,8 @@
     deriving Eq Show
 
   -- | This is a doc comment for a relationship.
-  -- | You need to put the pipe character for each line of documentation.
-  -- Lines without a pipe are omitted.
-  -- | But you can resume the doc comments afterwards.
+  -- Only the first line requires a pipe.
+  -- | Pipes are optional on subsequent lines.
   Relationship
       -- | Fields should be documentable.
       name String
diff --git a/src/PersistentTestModelsImports.hs b/src/PersistentTestModelsImports.hs
--- a/src/PersistentTestModelsImports.hs
+++ b/src/PersistentTestModelsImports.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE TypeOperators #-}
 {-# language UndecidableInstances #-}
 
 -- | this just needs to compile
diff --git a/src/PrimaryTest.hs b/src/PrimaryTest.hs
--- a/src/PrimaryTest.hs
+++ b/src/PrimaryTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# LANGUAGE DeriveGeneric #-}
 
diff --git a/src/RawSqlTest.hs b/src/RawSqlTest.hs
--- a/src/RawSqlTest.hs
+++ b/src/RawSqlTest.hs
@@ -1,4 +1,5 @@
 {-# language ScopedTypeVariables, DataKinds #-}
+{-# LANGUAGE TypeOperators #-}
 
 module RawSqlTest where
 
diff --git a/src/ReadWriteTest.hs b/src/ReadWriteTest.hs
--- a/src/ReadWriteTest.hs
+++ b/src/ReadWriteTest.hs
@@ -53,3 +53,14 @@
                 mkey1 @== Nothing
                 mperson <- selectFirst [PersonName ==. name_] []
                 fmap entityVal mperson @== Just person
+
+                let nameLuke = "Luke Seale New"
+                    personLuke = Person nameLuke 31 Nothing
+                mkey2 <- insertUnique_ personLuke
+                mkey3 <- insertUnique_ personLuke
+                mkey3 @== Nothing
+                mpersonLuke <- selectFirst [PersonName ==. nameLuke] []
+                fmap entityVal mpersonLuke @== Just personLuke
+
+
+
diff --git a/src/Recursive.hs b/src/Recursive.hs
--- a/src/Recursive.hs
+++ b/src/Recursive.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE UndecidableInstances #-}
+{-# LANGUAGE TypeOperators #-}
 
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 
diff --git a/src/RenameTest.hs b/src/RenameTest.hs
--- a/src/RenameTest.hs
+++ b/src/RenameTest.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE TypeApplications, UndecidableInstances #-}
+{-# LANGUAGE TypeApplications, TypeOperators, UndecidableInstances #-}
 
 module RenameTest where
 
diff --git a/src/SumTypeTest.hs b/src/SumTypeTest.hs
--- a/src/SumTypeTest.hs
+++ b/src/SumTypeTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE StandaloneDeriving #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 module SumTypeTest (specsWith, sumTypeMigrate) where
diff --git a/src/TransactionLevelTest.hs b/src/TransactionLevelTest.hs
--- a/src/TransactionLevelTest.hs
+++ b/src/TransactionLevelTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 
 module TransactionLevelTest where
diff --git a/src/TreeTest.hs b/src/TreeTest.hs
--- a/src/TreeTest.hs
+++ b/src/TreeTest.hs
@@ -1,5 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
-{-# LANGUAGE RecordWildCards, UndecidableInstances #-}
+{-# LANGUAGE RecordWildCards, TypeOperators, UndecidableInstances #-}
 
 module TreeTest where
 
diff --git a/src/TypeLitFieldDefsTest.hs b/src/TypeLitFieldDefsTest.hs
--- a/src/TypeLitFieldDefsTest.hs
+++ b/src/TypeLitFieldDefsTest.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE DataKinds #-}
 {-# LANGUAGE DeriveAnyClass #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 {-# OPTIONS_GHC -Wno-unused-top-binds #-}
 
diff --git a/src/UniqueTest.hs b/src/UniqueTest.hs
--- a/src/UniqueTest.hs
+++ b/src/UniqueTest.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE TypeOperators #-}
 {-# LANGUAGE UndecidableInstances #-}
 module UniqueTest where
 
