diff --git a/filediff.cabal b/filediff.cabal
--- a/filediff.cabal
+++ b/filediff.cabal
@@ -1,10 +1,10 @@
--- Initial filediff.cabal generated by cabal init.  For further 
+-- Initial Filediff.cabal generated by cabal init.  For further 
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                filediff
-version:             0.1.0.0
-synopsis:            Diff and patch module
-description:         A library for creating and applying diffs. Diffs can be manipulated in code in between creation and application.
+version:             0.1.0.1
+synopsis:            Diffing and patching module
+description:         `filediff` is a Haskell library for creating diffs, and applying diffs to files and directories.
 homepage:            https://github.com/bgwines/filediff
 license:             BSD3
 license-file:        LICENSE
diff --git a/src/Filediff/Sequence.hs b/src/Filediff/Sequence.hs
--- a/src/Filediff/Sequence.hs
+++ b/src/Filediff/Sequence.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE DeriveGeneric #-}
 {-# LANGUAGE InstanceSigs #-}
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE TypeSynonymInstances #-}
@@ -13,6 +14,8 @@
 , applySequenceDiff
 ) where
 
+import GHC.Generics
+
 import Data.MemoCombinators.Class (MemoTable, table)
 import qualified Data.MemoCombinators as Memo
 
@@ -30,7 +33,7 @@
 data SeqDiff a = SeqDiff {
       dels :: [Int]
     , adds :: [(Int, a)] }
-    deriving (Show, Eq)
+    deriving (Show, Eq, Generic)
 
 instance (Eq a, MemoTable a) => Monoid (SeqDiff a) where
     mempty :: SeqDiff a
diff --git a/src/Filediff/Types.hs b/src/Filediff/Types.hs
--- a/src/Filediff/Types.hs
+++ b/src/Filediff/Types.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE InstanceSigs #-}
+{-# LANGUAGE DeriveGeneric #-}
 
 -- | Data types used by `Filediff`
 module Filediff.Types
@@ -8,6 +9,8 @@
 , Error
 ) where
 
+import GHC.Generics
+
 import qualified Data.Text as T
 
 import Data.List (intersect, sortBy)
@@ -29,7 +32,7 @@
     base :: FilePath,
     comp :: FilePath,
     linediff :: SeqDiff Line
-} deriving (Eq, Show)
+} deriving (Eq, Show, Generic)
 
 -- TODO: is this mathematically correct?
 instance Monoid Filediff where
@@ -49,7 +52,7 @@
 data Diff = Diff {
     -- relative to directories being diffed
     filediffs :: [Filediff]
-} deriving (Show)
+} deriving (Show, Generic)
 
 instance Eq Diff where
     (==) :: Diff -> Diff -> Bool
