diff --git a/LDAP.cabal b/LDAP.cabal
--- a/LDAP.cabal
+++ b/LDAP.cabal
@@ -1,10 +1,10 @@
 Name: LDAP
-Version: 0.6.9
+Version: 0.6.10
 License: BSD3
 Maintainer: Edward Z. Yang <ezyang@mit.edu>
 Author: John Goerzen, Edward Z. Yang
 Stability: Beta
-Copyright: Copyright (c) 2005-2012 John Goerzen, Edward Z. Yang
+Copyright: Copyright (c) 2005-2014 John Goerzen, Edward Z. Yang
 homepage: https://github.com/ezyang/ldap-haskell
 Category: Network
 Synopsis: Haskell binding for C LDAP API
diff --git a/LDAP/Exceptions.hs b/LDAP/Exceptions.hs
--- a/LDAP/Exceptions.hs
+++ b/LDAP/Exceptions.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE DeriveDataTypeable #-}
 {- -*- Mode: haskell; -*-
 Haskell LDAP Interface
 Copyright (C) 2005-2009 John Goerzen <jgoerzen@complete.org>
@@ -47,6 +48,7 @@
      description :: String,     -- ^ Description of error
      caller :: String           -- ^ Calling function
     }
+    deriving (Typeable)
 instance Show LDAPException where
     show x = caller x ++ ": LDAPException " ++ show (code x) ++ 
              "(" ++ show (fromEnum $ code x) ++ "): " ++
@@ -57,12 +59,6 @@
 
 instance Ord LDAPException where
     compare x y = compare (code x) (code y)
-
-instance Typeable LDAPException where
-    typeOf _ = mkTyConApp ldapExceptionTc []
-
-ldapExceptionTc :: TyCon
-ldapExceptionTc = mkTyCon "LDAP.LDAPException"
 
 #if __GLASGOW_HASKELL__ >= 610
 instance Exception LDAPException where
