diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,3 @@
+import Distribution.Simple
+main :: IO ()
+main = defaultMain
diff --git a/Setup.lhs b/Setup.lhs
deleted file mode 100644
--- a/Setup.lhs
+++ /dev/null
@@ -1,3 +0,0 @@
-> import Distribution.Simple
-> main :: IO ()
-> main = defaultMain
diff --git a/src/Language/Haskell/TH/Instances.hs b/src/Language/Haskell/TH/Instances.hs
--- a/src/Language/Haskell/TH/Instances.hs
+++ b/src/Language/Haskell/TH/Instances.hs
@@ -11,12 +11,21 @@
   Portability :  portable (template-haskell)
 -}
 
+-- | Provides Ord and Lift instances for the TH datatypes.  Also provides
+--   Show / Eq for Loc, and Ppr for Loc / Lit.
 module Language.Haskell.TH.Instances () where
 
 import Language.Haskell.TH.Syntax
 import Language.Haskell.TH.Ppr
 import Language.Haskell.TH.Lift (deriveLiftMany)
 
+deriving instance Show Loc
+
+deriving instance Eq Loc
+deriving instance Eq Info
+
+deriving instance Ord Info
+deriving instance Ord Fixity
 deriving instance Ord Exp
 deriving instance Ord Dec
 deriving instance Ord Stmt
@@ -44,8 +53,11 @@
 deriving instance Ord Pragma
 #endif /* MIN_VERSION_template_haskell(2,4,0) */
 
-deriving instance Show Loc
-deriving instance Eq Loc
+instance Ord FixityDirection where
+  (<=) InfixL _      = True
+  (<=) _      InfixR = True
+  (<=) InfixN InfixN = True
+  (<=) _      _      = False
 
 -- TODO: make this better
 instance Ppr Loc where
diff --git a/th-orphans.cabal b/th-orphans.cabal
--- a/th-orphans.cabal
+++ b/th-orphans.cabal
@@ -1,5 +1,5 @@
 name:               th-orphans
-version:            0.5.1.3
+version:            0.5.2.0
 cabal-version:      >= 1.6
 build-type:         Simple
 license:            BSD3
