diff --git a/bin/Class.hs b/bin/Class.hs
--- a/bin/Class.hs
+++ b/bin/Class.hs
@@ -83,7 +83,7 @@
 			varStrictType d drvT,
 			varStrictType r lstT,
 			varStrictType pos posT ]
-	 ] (cxt [])
+	 ] []
 	where
 	[c, m, com, r, d, pos] = map mkName [
 		"peCode",
@@ -248,7 +248,7 @@
 instanceSrcStr _ =
 	instanceD (cxt [classP sourceList [varT c]]) (conT source `appT` listC) [
 		tySynInstD tokenN $ tySynEqn [listC] (varT c),
-		flip (newtypeInstD (cxt []) posN [listC] Nothing) (cxt []) $
+		flip (newtypeInstD (cxt []) posN [listC] Nothing) [] $
 			normalC listPosN [strictType notStrict $
 				conT listPosN `appT` varT c],
 		valD (varP getTokenN) (normalB $ varE listTokenN) [],
@@ -312,7 +312,7 @@
 			strictType notStrict $ tupleT 2
 				`appT` conT (mkName "Int")
 				`appT` conT (mkName "Int")]
-	 ) (cxt [conT $ mkName "Show"]),
+	 ) ([derivClause Nothing $ [conT $ mkName "Show"]]),
 	funD listTokenN [
 		clause [infixP (varP c) (consN th) (varP s)]
 			(normalB $ conE (justN th) `appE` tupleBody) [],
diff --git a/papillon.cabal b/papillon.cabal
--- a/papillon.cabal
+++ b/papillon.cabal
@@ -2,7 +2,7 @@
 cabal-version:	>= 1.8
 
 name:		papillon
-version:	0.1.0.4
+version:	0.1.0.5
 stability:	Experimental
 author:		Yoshikuni Jujo <PAF01143@nifty.ne.jp>
 maintainer:	Yoshikuni Jujo <PAF01143@nifty.ne.jp>
@@ -39,7 +39,7 @@
     Text.Papillon.Papillon,
     Text.Papillon.List
   build-depends:
-    base > 3 && < 5, template-haskell == 2.11.*,
+    base > 3 && < 5, template-haskell == 2.12.*,
     monads-tf == 0.1.*, transformers == 0.5.*,
     bytestring == 0.10.*
   ghc-options:		-Wall -fno-warn-tabs
@@ -49,6 +49,6 @@
   main-is:		papillon.hs
   other-modules:	Class
   build-depends:
-    directory, filepath, base > 3 && < 5, template-haskell == 2.11.*,
+    directory, filepath, base > 3 && < 5, template-haskell == 2.12.*,
     monads-tf == 0.1.*, transformers == 0.5.*, papillon
   ghc-options:		-Wall -fno-warn-tabs
