diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,15 @@
 PLACEHOLDER
 -----
 
+0.2.1.0
+-----
+* Add instances to `UDEmpty`.
+
+0.2.0.2
+-----
+* Add homepage and bug-reports to cabal file, linking to the github repository
+  and its issue tracker, respectively.
+
 0.2.0.1
 -----
 * Revise synopsis, because "Haskell2010 compatible" suggests that both the
diff --git a/global.cabal b/global.cabal
--- a/global.cabal
+++ b/global.cabal
@@ -1,6 +1,6 @@
 name:               global
 -- Don't forget to bump the tag and CHANGELOG placeholder too.
-version:            0.2.0.1
+version:            0.2.1.0
 cabal-version:      >= 1.18
 build-type:         Simple
 license:            BSD3
@@ -9,6 +9,8 @@
 author:             Byron James Johnson
 maintainer:         ByronJohnsonFP@gmail.com
 category:           Data, Language, System
+homepage:           https://github.com/bairyn/global
+bug-reports:        https://github.com/bairyn/global/issues
 tested-with:        GHC == 7.8.3
 extra-source-files:
 -- The extra-doc-files property requires cabal-version >= 1.18.
@@ -62,7 +64,7 @@
   default-extensions:
     --,GADTs
     TemplateHaskell
-    --,DeriveDataTypeable
+    ,DeriveDataTypeable
   other-extensions:
     FlexibleInstances
 
@@ -73,4 +75,4 @@
 source-repository this
   type:     git
   location: git@github.com:bairyn/global.git
-  tag:      v0.2.0.1
+  tag:      v0.2.1.0
diff --git a/src/Data/Global.hs b/src/Data/Global.hs
--- a/src/Data/Global.hs
+++ b/src/Data/Global.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE TemplateHaskell, FlexibleInstances #-}
+{-# LANGUAGE TemplateHaskell, DeriveDataTypeable, FlexibleInstances #-}
 
 -- TODO: The DRY principle is violated in the instance declarations of
 -- 'UniqueDeclaration'.  Fix by writing an abstraction.
@@ -53,6 +53,7 @@
 import Control.Concurrent.STM.TVar
 import Control.Concurrent.STM.TMVar
 import Control.Concurrent.STM.TChan
+import Data.Data
 import Data.IORef
 import Data.Tagged
 import Debug.Trace.LocationTH
@@ -736,7 +737,8 @@
             ]
 
 -- | Identity type wrapper that indicates that the unique declaration should be "empty" by default.
-newtype UDEmpty u a = UDEmpty (u a)
+newtype UDEmpty u a = UDEmpty {unUDEmpty :: u a}
+  deriving (Eq, Ord, Show, Read, Data, Typeable)
 
 -- | Tagged name type.
 type UN u = Tagged (Cnt u) Name
