diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/Text/PrettyPrint/Class.hs b/Text/PrettyPrint/Class.hs
new file mode 100644
--- /dev/null
+++ b/Text/PrettyPrint/Class.hs
@@ -0,0 +1,8 @@
+module Text.PrettyPrint.Class
+    ( Pretty(pretty)
+    ) where
+
+import Text.PrettyPrint (Doc)
+
+class Pretty a where
+    pretty :: a -> Doc
diff --git a/pretty-class.cabal b/pretty-class.cabal
new file mode 100644
--- /dev/null
+++ b/pretty-class.cabal
@@ -0,0 +1,26 @@
+Name:               pretty-class
+Version:            0.1
+Synopsis:           Extremely simple Pretty class
+Description:        I was unclear how to create instances of Language.Haskell.Pretty.Pretty because
+                    the pretty method is not exported.  So here is a copy.
+Homepage:           https://src.seereason.com/pretty-class
+License:            BSD3
+Author:             David Fox
+Maintainer:         David Fox <dsf@seereason.com>
+Category:           Text
+Build-type:         Simple
+Cabal-version:      >=1.6
+
+source-repository head
+  Type:             darcs
+  Location:         http://src.seereason.com/pretty-class
+
+Library
+  ghc-options:      -Wall -O2
+
+  Exposed-modules:
+    Text.PrettyPrint.Class
+
+  Build-depends:
+    base >= 4 && < 5,
+    pretty
