diff --git a/ClassLaws.cabal b/ClassLaws.cabal
--- a/ClassLaws.cabal
+++ b/ClassLaws.cabal
@@ -10,7 +10,7 @@
 -- PVP summary:      +-+------- breaking API changes
 --                   | | +----- non-breaking API additions
 --                   | | | +--- code changes with no API change
-version:             0.3.0.2
+version:             0.3.1.0
 
 -- A short (one-line) description of the package.
 synopsis:            Stating and checking laws for type class methods
@@ -32,7 +32,7 @@
   do not satisfy the expected laws. More information can be found at
   <http://wiki.portal.chalmers.se/cse/pmwiki.php/FP/ClassLaws>.  Built
   with ghc-7.4.2 and ghc-7.6.1. (Fails to build with ghc-7.2.2 due to
-  http://hackage.haskell.org/trac/ghc/ticket/5745. Could be worked
+  <http://hackage.haskell.org/trac/ghc/ticket/5745>. Could be worked
   around.)
 
 -- The license under which the package is released.
@@ -67,7 +67,8 @@
     Test.ClassLaws.TestingDatatypes, Test.ClassLaws.TestingState,
     Control.Monad.Laws, Control.Monad.Laws.Instances, 
     Control.Monad.State.Class.Laws, Control.Monad.State.Class.Laws.Instances, 
-    Data.Monoid.Laws, Data.Monoid.Laws.Instances
+    Data.Monoid.Laws, Data.Monoid.Laws.Instances,
+    Text.Show.Laws
   
     -- The Control.Monad and Data.Monoid laws should perhaps be split off  
     -- Some modules may be made internal 
diff --git a/src/Test/ClassLaws/TestingDatatypes.hs b/src/Test/ClassLaws/TestingDatatypes.hs
--- a/src/Test/ClassLaws/TestingDatatypes.hs
+++ b/src/Test/ClassLaws/TestingDatatypes.hs
@@ -28,6 +28,12 @@
 instance (Eq a, Show a) => TestEqual [a] where
   testEqual p _ = testEq (==) p
 
+-- Char
+type instance Param Char  =  ()
+
+instance TestEqual Char where
+  testEqual p _ = testEq (==) p
+
 -- Maybe
 type instance Param (Maybe a)  =  ()
 
diff --git a/src/Text/Show/Laws.hs b/src/Text/Show/Laws.hs
new file mode 100644
--- /dev/null
+++ b/src/Text/Show/Laws.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE TypeFamilies #-}
+{-# LANGUAGE TypeSynonymInstances #-}
+{-# LANGUAGE FlexibleInstances #-}
+{-# LANGUAGE EmptyDataDecls #-}
+
+module Text.Show.Laws where
+
+import Test.ClassLaws
+import Test.ClassLaws.TestingDatatypes
+
+data ShowLaw s
+
+class Show s => ShowLaws s where
+
+  showLaw  ::  Law (ShowLaw s)
+
+  showLaw  =   defaultShowLaw
+
+defaultShowLaw (d,x,r,s)  =  showsPrec d x r ++ s  =.=  showsPrec d x (r ++ s)
+
+type instance LawArgs (ShowLaw s)  =  (Int, s, String, String)
+type instance LawBody (ShowLaw s)  =  String
+
+instance (ShowLaws s) => LawTest (ShowLaw s) where
+  lawtest _  =  testEqual . showLaw
+
