diff --git a/ini.cabal b/ini.cabal
--- a/ini.cabal
+++ b/ini.cabal
@@ -1,11 +1,13 @@
 name:                ini
-version:             0.3.1
+version:             0.3.2
 synopsis:            Quick and easy configuration files in the INI format.
 description:         Quick and easy configuration files in the INI format.
 license:             BSD3
 license-file:        LICENSE
 author:              Chris Done
 maintainer:          chrisdone@gmail.com
+homepage:            http://github.com/chrisdone/ini
+bug-reports:         http://github.com/chrisdone/ini/issues
 copyright:           2013 Chris Done
 category:            Data, Configuration
 build-type:          Simple
@@ -20,3 +22,7 @@
                      attoparsec,
                      text,
                      unordered-containers
+
+source-repository head
+  type:     git
+  location: http://github.com/chrisdone/inil.git
diff --git a/src/Data/Ini.hs b/src/Data/Ini.hs
--- a/src/Data/Ini.hs
+++ b/src/Data/Ini.hs
@@ -1,4 +1,5 @@
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE OverloadedStrings          #-}
 
 -- | Clean configuration files in the INI format.
 --
@@ -55,22 +56,22 @@
   )
   where
 
+import           Control.Applicative        (many, (<*))
 import           Control.Monad
-import           Control.Applicative ((<*), many)
 import           Data.Attoparsec.Combinator
 import           Data.Attoparsec.Text
 import           Data.Char
-import           Data.HashMap.Strict (HashMap)
-import qualified Data.HashMap.Strict as M
+import           Data.HashMap.Strict        (HashMap)
+import qualified Data.HashMap.Strict        as M
 import           Data.Monoid
-import           Data.Text (Text)
-import qualified Data.Text as T
-import qualified Data.Text.IO as T
-import           Prelude hiding (takeWhile)
+import           Data.Text                  (Text)
+import qualified Data.Text                  as T
+import qualified Data.Text.IO               as T
+import           Prelude                    hiding (takeWhile)
 
 -- | An INI configuration.
 newtype Ini = Ini { unIni :: HashMap Text (HashMap Text Text) }
-  deriving (Show)
+  deriving (Show, Monoid)
 
 -- | Parse an INI file.
 readIniFile :: FilePath -> IO (Either String Ini)
