diff --git a/CHANGELOG b/CHANGELOG
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,5 +1,11 @@
 CHANGELOG
 
+0.7.2 -> 0.8
+  - Updated for GHC 8.2
+    - Updated to base-4.10
+    - Updated to template-haskell-2.12
+    - Updated to algebraic-classes-0.8
+
 0.7.1 -> 0.7.2
   - Fixed Traversable instance of `Free c`
 
diff --git a/free-functors.cabal b/free-functors.cabal
--- a/free-functors.cabal
+++ b/free-functors.cabal
@@ -1,5 +1,5 @@
 name:                free-functors
-version:             0.7.2
+version:             0.8
 synopsis:            Free functors, adjoint to functors that forget class constraints.
 description:         A free functor is a left adjoint to a forgetful functor. It used to be the case
                      that the only category that was easy to work with in Haskell was Hask itself, so
@@ -43,12 +43,12 @@
     Haskell2010
 
   build-depends:
-    base == 4.9.*,
-    template-haskell == 2.11.*,
+    base >= 4.9 && < 4.11,
+    template-haskell >= 2.11 && < 2.13,
     constraints == 0.9.*,
     transformers == 0.5.*,
     comonad == 5.*,
-    algebraic-classes == 0.7.*,
+    algebraic-classes >= 0.7 && < 0.9,
     contravariant == 1.4.*,
     bifunctors == 5.*,
     profunctors == 5.*
diff --git a/src/Data/Constraint/Class1.hs b/src/Data/Constraint/Class1.hs
--- a/src/Data/Constraint/Class1.hs
+++ b/src/Data/Constraint/Class1.hs
@@ -46,10 +46,10 @@
   type SuperClasses c :: [k -> Constraint]
   type SuperClasses c = '[c]
   superClasses :: c x :- FoldConstraints (SuperClasses c) x
-  default superClasses :: c x :- FoldConstraints '[c] x
+  default superClasses :: (SuperClasses c ~ '[c]) => c x :- FoldConstraints (SuperClasses c) x
   superClasses = Sub Dict
   containsSelf :: FoldConstraints (SuperClasses c) x :- c x
-  default containsSelf :: FoldConstraints '[c] x :- c x
+  default containsSelf :: (SuperClasses c ~ '[c]) => FoldConstraints (SuperClasses c) x :- c x
   containsSelf = Sub Dict
 
 instance HasSuperClasses Functor
diff --git a/src/Data/Functor/HHFree.hs b/src/Data/Functor/HHFree.hs
--- a/src/Data/Functor/HHFree.hs
+++ b/src/Data/Functor/HHFree.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE
     RankNTypes
   , TypeOperators
+  , MonoLocalBinds
   , ConstraintKinds
   , FlexibleContexts
   , ScopedTypeVariables
@@ -18,7 +19,7 @@
 -- A free functor is left adjoint to a forgetful functor.
 -- In this package the forgetful functor forgets class constraints.
 --
--- Compared to @Data.Functor.HHFree@ we have 2 two parameters.
+-- Compared to @Data.Functor.HFree@ we have 2 two parameters.
 -----------------------------------------------------------------------------
 module Data.Functor.HHFree where
 
