diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,9 @@
+0.3.1.0 (2017-05-13)
+====================
+
+-   Support GHC 8.2 (#14).
+
+
 0.3.0.2 (2017-01-12)
 ====================
 
diff --git a/pinch.cabal b/pinch.cabal
--- a/pinch.cabal
+++ b/pinch.cabal
@@ -1,9 +1,9 @@
--- This file has been generated from package.yaml by hpack version 0.14.1.
+-- This file has been generated from package.yaml by hpack version 0.15.0.
 --
 -- see: https://github.com/sol/hpack
 
 name:           pinch
-version:        0.3.0.2
+version:        0.3.1.0
 cabal-version:  >= 1.10
 build-type:     Simple
 license:        BSD3
diff --git a/src/Pinch/Internal/Pinchable.hs b/src/Pinch/Internal/Pinchable.hs
--- a/src/Pinch/Internal/Pinchable.hs
+++ b/src/Pinch/Internal/Pinchable.hs
@@ -122,12 +122,13 @@
     unpinch :: Value (Tag a) -> Parser a
 
     default pinch
-        :: (Generic a, GPinchable (Rep a)) => a -> Value (GTag (Rep a))
+        :: (Generic a, Tag a ~ GTag (Rep a), GPinchable (Rep a))
+        => a -> Value (Tag a)
     pinch = genericPinch
 
     default unpinch
-        :: (Generic a, GPinchable (Rep a))
-        => Value (GTag (Rep a)) -> Parser a
+        :: (Generic a, Tag a ~ GTag (Rep a), GPinchable (Rep a))
+        => Value (Tag a) -> Parser a
     unpinch = genericUnpinch
 
 
