diff --git a/Data/Algorithm/Diff3.hs b/Data/Algorithm/Diff3.hs
--- a/Data/Algorithm/Diff3.hs
+++ b/Data/Algorithm/Diff3.hs
@@ -1,4 +1,3 @@
-{-# LANGUAGE RankNTypes #-}
 {-| An implementation of a 3-way merge algorithm. -}
 module Data.Algorithm.Diff3 (Hunk(..), diff3) where
 
@@ -44,19 +43,20 @@
 isA :: (DI, t) -> Bool
 isA (F,_) = False
 isA (_,_) = True
-
+{-# INLINE isA #-}
 
 --------------------------------------------------------------------------------
 isO :: (DI, t) -> Bool
 isO (S,_) = False
 isO (_,_) = True
+{-# INLINE isO #-}
 
 
 --------------------------------------------------------------------------------
 isB :: (DI, t) -> Bool
 isB (B,_) = True
 isB (_,_) = False
-
+{-# INLINE isB #-}
 
 --------------------------------------------------------------------------------
 shortestMatch :: [(DI,a)] -> [(DI,a)] -> ([Hunk a], [(DI, a)], [(DI, a)])
diff --git a/diff3.cabal b/diff3.cabal
--- a/diff3.cabal
+++ b/diff3.cabal
@@ -1,16 +1,24 @@
 name:                diff3
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Perform a 3-way difference of documents
 homepage:            http://github.com/ocharles/diff3.git
 license:             BSD3
 license-file:        LICENSE
 author:              Oliver Charles
-maintainer:          ollie@ocharles.org.uk
+maintainer: Oliver Charles <ollie@ocharles.org.uk>
 category:            Data
 build-type:          Simple
 cabal-version:       >=1.8
+bug-reports: http://github.com/ocharles/diff3/issues
+copyright: Copyright (C) 2012 Oliver Charles
+synopsis:            Perform a 3-way difference of documents
 
+source-repository head
+  type: git
+  location: git://github.com/ocharles/diff3.git
+
 library
   exposed-modules:     Data.Algorithm.Diff3
   build-depends:       base ==4.6.*, Diff ==0.1.*
-  ghc-options: -Wall
+  ghc-options: -Wall -fwarn-tabs -funbox-strict-fields -O2
+               -fno-warn-orphans -fno-warn-unused-do-bind
