diff --git a/Main.hs b/Main.hs
--- a/Main.hs
+++ b/Main.hs
@@ -26,6 +26,7 @@
 import qualified Data.Text as T
 import qualified Data.Text.IO as TI
 import Data.Attoparsec.Text hiding (try)
+import Data.Attoparsec.Combinator (lookAhead)
 import Text.Printf
 import Distribution.PackageDescription
 import Distribution.PackageDescription.Parse
@@ -84,8 +85,6 @@
                                (either id id verA)
                                (either id id verB)
     outputDiff diff disableColor silentFlag
-  where die :: String -> IO a
-        die str = putStrLn str >> exitFailure
 
 data FlagMode = ModeDownloadDB | ModeBuildDB | ModeParseHS
                 deriving (Eq)
@@ -102,7 +101,7 @@
   where
     header =
       "hackage-diff | Compare the public API of different versions of a Hackage library\n" ++
-      "github.com/blitzcode/hackage-diff | www.blitzcode.net | (C) 2014 Tim C. Schroeder\n\n" ++
+      "github.com/blitzcode/hackage-diff | www.blitzcode.net | (C) 2016 Tim C. Schroeder\n\n" ++
       "Usage: " ++ prgName ++ " [options] <package-name> <old-version|path> <new-version|path>"
     footer =
       "\nExamples:\n" ++
@@ -238,7 +237,9 @@
     -- Parse
     putS "Parsing Hoogle DBs..."
     [parsedDBA, parsedDBB] <- forM [dbA, dbB] $ \db ->
-        either throwError return $ parseOnly hoogleDBParser db
+        either throwError return $ parseOnly (hoogleDBParser <* endOfInput) db
+    -- Debug parser in GHCi: parseOnly hoogleDBParser <$> TI.readFile "base.txt" >>=
+    --                           \(Right db) -> mapM_ (putStrLn . show) db
     -- Compare
     putS "Comparing Hoogle DBs..."
     return $ diffHoogleDB parsedDBA parsedDBB
@@ -497,10 +498,14 @@
                     ( (DBNewtype <$> takeTill (`elem` [ ' ', '\n' ]) <* endOfLine <*> "") <|>
                       (DBNewtype <$> takeTill (== ' ') <* skipSpace <*> tillEoL)
                     )
-    parseCtor     = do peekChar' >>= flip unless (fail "lowercase") . isAsciiUpper
+                    -- TODO: At some point Hoogle DBs started to have Ctors and functions
+                    --       names wrapped in brackets. Not sure what's up with that, just
+                    --       parse them as part of the name so the parser doesn't stop
+    parseCtor     = do void . lookAhead $ satisfy isAsciiUpper <|>
+                                          (char '[' *> satisfy isAsciiUpper)
                        DBCtor <$> takeTill (== ' ') <* string " :: " <*> tillEoL
-    parseFunction = do peekChar' >>=
-                           flip unless (fail "uppercase") . (\c -> isAsciiLower c || c == '(')
+                    -- TODO: This doesn't parse function lists correctly
+    parseFunction = do void . lookAhead $ satisfy isAsciiLower <|> char '[' <|> char '('
                        DBFunction <$> takeTill (== ' ') <* string " :: " <*> tillEoL
     parseInstance = do void $ string "instance "
                        line <- T.words <$> tillEoL
diff --git a/hackage-diff.cabal b/hackage-diff.cabal
--- a/hackage-diff.cabal
+++ b/hackage-diff.cabal
@@ -2,7 +2,7 @@
 -- documentation, see http://haskell.org/cabal/users-guide/
 
 name:                hackage-diff
-version:             0.1.0.0
+version:             0.1.0.1
 synopsis:            Compare the public API of different versions of a Hackage library
 description:         Please see <https://github.com/blitzcode/hackage-diff github.com/blitzcode/hackage-diff> for a user's manual.
                      .
@@ -68,7 +68,7 @@
 maintainer:          www.blitzcode.net
 homepage:            https://github.com/blitzcode/hackage-diff
 bug-reports:         https://github.com/blitzcode/hackage-diff/issues
-copyright:           (C) 2014 Tim C. Schroeder
+copyright:           (C) 2016 Tim C. Schroeder
 category:            Distribution
 build-type:          Simple
 -- extra-source-files:  
@@ -82,7 +82,7 @@
   main-is:             Main.hs
   -- other-modules:
   -- other-extensions:
-  build-depends:       base             >=4.7 && <4.8,
+  build-depends:       base             >=4.8 && <5.0,
                        Cabal            >=1.20.0.0,
                        haskell-src-exts >=1.15.0,
                        ansi-terminal    >=0.6.1.1,
