diff --git a/Data/UUID/Orphans.hs b/Data/UUID/Orphans.hs
--- a/Data/UUID/Orphans.hs
+++ b/Data/UUID/Orphans.hs
@@ -1,9 +1,10 @@
-{-# LANGUAGE TemplateHaskell #-}
-module Data.UUID.Orphans () where
+{-# LANGUAGE CPP, TemplateHaskell #-}
+module Data.UUID.Orphans (showUUID) where
 
 import Data.SafeCopy (base, deriveSafeCopy)
 import Data.Text as T (pack, unpack)
 import Data.UUID.Types (UUID, toString, fromString)
+import Language.Haskell.TH.Lift (deriveLiftMany)
 import Web.Routes.PathInfo
 
 $(deriveSafeCopy 0 'base ''UUID)
@@ -12,3 +13,14 @@
   toPathSegments = (:[]) . T.pack . toString
   fromPathSegments = pToken (const ("UUID" :: String)) checkUUID
     where checkUUID txt = fromString (T.unpack txt)
+
+#if !__GHCJS__
+$(deriveLiftMany [
+   ''UUID
+  ])
+#endif
+
+-- | The Show instance for UUID does not return a string containing a
+-- haskell expression, so if that is required use this function instead.
+showUUID :: UUID -> String
+showUUID uuid = "(read " ++ show (show uuid) ++ " :: UUID)"
diff --git a/uuid-orphans.cabal b/uuid-orphans.cabal
--- a/uuid-orphans.cabal
+++ b/uuid-orphans.cabal
@@ -1,5 +1,5 @@
 name:               uuid-orphans
-version:            1.3.11.1
+version:            1.4.1
 cabal-version:      >= 1.10
 build-type:         Simple
 license:            BSD3
@@ -8,7 +8,7 @@
 author:             David Fox
 copyright:          (c) David Fox
 maintainer:         David Fox <dsf@seereason.com>
-bug-reports:        https://github.com/seereason/uuid
+bug-reports:        https://github.com/seereason/uuid-orphans
 stability:          experimental
 tested-with:        GHC == 7.10.2
 synopsis:           Orphan instances for the UUID datatype
@@ -22,6 +22,7 @@
     uuid-types >= 1.0.2,
     safecopy,
     text,
+    th-lift,
     web-routes
   ghc-options:      -Wall
   exposed-modules:  Data.UUID.Orphans
@@ -29,4 +30,4 @@
 
 source-repository head
   type:     git
-  location: git://github.com/seereason/uuid.git
+  location: git://github.com/ddssff/uuid-orphans.git
