diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,16 @@
+# 0.0.3
+
+* Add 'name2Integer' method (christiaanb)
+* Export internal type-directed `gaeq`, `gopen`, `gclose`, etc
+  functions from `Unbound.Generics.LocallyNameless.Alpha`.
+
+    Allows definitions like:
+
+        instance Alpha Term where
+          aeq' _ (Prim t1 _dk1) (Prim t2 _dk2) = t1 == t2
+          aeq' c t1             t2             = gaeq c (from t1) (from t2)
+
+
 # 0.0.2.1
 
 * Unconditionally add ErrorT and ExceptT instances using transformers-compat (bergmark)
diff --git a/src/Unbound/Generics/LocallyNameless/Alpha.hs b/src/Unbound/Generics/LocallyNameless/Alpha.hs
--- a/src/Unbound/Generics/LocallyNameless/Alpha.hs
+++ b/src/Unbound/Generics/LocallyNameless/Alpha.hs
@@ -27,6 +27,18 @@
   , termCtx
   , isTermCtx
   , incrLevelCtx
+  -- * Internal
+  , gaeq
+  , gfvAny
+  , gclose
+  , gopen
+  , gisPat
+  , gisTerm
+  , gnthPatFind
+  , gnamePatFind
+  , gswaps
+  , gfreshen
+  , glfreshen
   ) where
 
 import Control.Applicative (Applicative(..), (<$>))
diff --git a/src/Unbound/Generics/LocallyNameless/Name.hs b/src/Unbound/Generics/LocallyNameless/Name.hs
--- a/src/Unbound/Generics/LocallyNameless/Name.hs
+++ b/src/Unbound/Generics/LocallyNameless/Name.hs
@@ -22,6 +22,7 @@
        , makeName
          -- * Name inspection
        , name2String
+       , name2Integer
          -- * Heterogeneous names
        , AnyName(..)
        ) where
@@ -65,10 +66,15 @@
 makeName :: String -> Integer -> Name a
 makeName = Fn
 
+-- | Get the integer part of a 'Name'.
+name2Integer :: Name a -> Integer
+name2Integer (Fn _ i) = i
+name2Integer (Bn _ _) = error "Internal Error: cannot call name2Integer for bound names"
+
 -- | Get the string part of a 'Name'.
 name2String :: Name a -> String
 name2String (Fn s _) = s
-name2String (Bn _ _)   = error "Internal Error: cannot call name2Integer for bound names"
+name2String (Bn _ _) = error "Internal Error: cannot call name2String for bound names"
 
 instance Show (Name a) where
   show (Fn "" n) = "_" ++ (show n)
diff --git a/unbound-generics.cabal b/unbound-generics.cabal
--- a/unbound-generics.cabal
+++ b/unbound-generics.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                unbound-generics
-version:             0.0.2.1
+version:             0.0.3
 synopsis:            Reimplementation of Unbound using GHC Generics
 description:         Specify the binding structure of your data type with an
                      expressive set of type combinators, and unbound-generics
