diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for can-i-haz
 
+## 0.3.1.1
+
+* Fix certain warnings with newer GHC for cleaner builds.
+
 ## 0.3.1.0
 
 * Add `liftMaybe` utility function to `Control.Monad.Except.CoHas`.
diff --git a/can-i-haz.cabal b/can-i-haz.cabal
--- a/can-i-haz.cabal
+++ b/can-i-haz.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.31.2.
+-- This file has been generated from package.yaml by hpack version 0.35.0.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: af1810287bc5b23d221bbd0e94f0e0c3016a9c1269cf8169b84688faebfa71e5
+-- hash: b0a73621ab2689afb20ff048f332f12f4e3d17664e2dcc956e880c8478bcb915
 
 name:           can-i-haz
-version:        0.3.1.0
+version:        0.3.1.1
 synopsis:       Generic implementation of the Has and CoHas patterns
 description:    Please see the README on GitHub at <https://github.com/0xd34df00d/can-i-haz#readme>
 category:       Control
@@ -15,7 +15,7 @@
 bug-reports:    https://github.com/0xd34df00d/can-i-haz/issues
 author:         Georg Rudoy
 maintainer:     0xd34df00d@gmail.com
-copyright:      2019 Georg Rudoy
+copyright:      2019-2022 Georg Rudoy
 license:        BSD3
 license-file:   LICENSE
 build-type:     Simple
diff --git a/src/Control/Monad/Except/CoHas.hs b/src/Control/Monad/Except/CoHas.hs
--- a/src/Control/Monad/Except/CoHas.hs
+++ b/src/Control/Monad/Except/CoHas.hs
@@ -1,7 +1,15 @@
-{-# LANGUAGE TypeOperators, DataKinds, PolyKinds, TypeFamilies, ConstraintKinds #-}
-{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, UndecidableInstances, FlexibleContexts #-}
-{-# LANGUAGE ScopedTypeVariables, DefaultSignatures #-}
+{-# LANGUAGE ConstraintKinds #-}
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DefaultSignatures #-}
+{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE PolyKinds #-}
 {-# LANGUAGE Safe #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE UndecidableInstances #-}
 
 {-|
 Description: Generic implementation of the CoHas injection pattern (dual to Has)
@@ -90,12 +98,13 @@
 import qualified Control.Monad.Except as M
 import Control.Monad.Except as X hiding(throwError, liftEither)
 import Data.Bifunctor
+import Data.Kind
 import Data.Proxy
 import GHC.Generics
 
 import Data.Path
 
-type family Search option (g :: k -> *) :: MaybePath where
+type family Search option (g :: k -> Type) :: MaybePath where
   Search option (K1 _ option) = 'Found 'Here
   Search option (K1 _ other) = 'NotFound
   Search option (M1 _ _ x) = Search option x
diff --git a/src/Control/Monad/Reader/Has.hs b/src/Control/Monad/Reader/Has.hs
--- a/src/Control/Monad/Reader/Has.hs
+++ b/src/Control/Monad/Reader/Has.hs
@@ -1,7 +1,15 @@
-{-# LANGUAGE TypeOperators, DataKinds, PolyKinds, TypeFamilies, ConstraintKinds #-}
-{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, UndecidableInstances, FlexibleContexts #-}
-{-# LANGUAGE ScopedTypeVariables, DefaultSignatures #-}
+{-# LANGUAGE ConstraintKinds #-}
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE DefaultSignatures #-}
+{-# LANGUAGE FlexibleContexts #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE PolyKinds #-}
 {-# LANGUAGE Safe #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeOperators #-}
+{-# LANGUAGE UndecidableInstances #-}
 
 {-|
 Description : Generic implementation of the Has pattern
@@ -102,12 +110,13 @@
 
 import qualified Control.Monad.Reader as M
 import Control.Monad.Reader as X hiding(ask, asks, reader)
+import Data.Kind
 import Data.Proxy
 import GHC.Generics
 
 import Data.Path
 
-type family Search part (g :: k -> *) :: MaybePath where
+type family Search part (g :: k -> Type) :: MaybePath where
   Search part (K1 _ part) = 'Found 'Here
   Search part (K1 _ other) = 'NotFound
   Search part (M1 _ _ x) = Search part x
diff --git a/src/Data/Path.hs b/src/Data/Path.hs
--- a/src/Data/Path.hs
+++ b/src/Data/Path.hs
@@ -1,4 +1,6 @@
-{-# LANGUAGE DataKinds, TypeFamilies #-}
+{-# LANGUAGE DataKinds #-}
+{-# LANGUAGE Safe #-}
+{-# LANGUAGE TypeFamilies #-}
 
 module Data.Path where
 
