diff --git a/lambdabot.cabal b/lambdabot.cabal
--- a/lambdabot.cabal
+++ b/lambdabot.cabal
@@ -1,5 +1,5 @@
 name:                   lambdabot
-version:                5.0.3
+version:                5.1
 
 license:                GPL
 license-file:           LICENSE
@@ -20,7 +20,7 @@
 
 build-type:             Simple
 cabal-version:          >= 1.8
-tested-with:            GHC == 7.6.3, GHC == 7.8.3
+tested-with:            GHC == 7.8.4, GHC == 7.10.3
 
 extra-source-files:     src/Modules.hs
                         scripts/ghci.sh
@@ -53,10 +53,11 @@
 
   ghc-options:          -Wall -threaded
   build-depends:        base                         >= 3 && < 5,
-                        lambdabot-core               >= 5.0.3 && < 5.1,
-                        lambdabot-haskell-plugins    >= 5.0.3 && < 5.1,
-                        lambdabot-irc-plugins        >= 5.0.3 && < 5.1,
-                        lambdabot-misc-plugins       >= 5.0.1 && < 5.1,
-                        lambdabot-novelty-plugins    >= 5.0.3 && < 5.1,
-                        lambdabot-reference-plugins  >= 5.0.3 && < 5.1,
-                        lambdabot-social-plugins     >= 5.0.1 && < 5.1
+                        lambdabot-core               >= 5.1 && < 5.2,
+                        lambdabot-haskell-plugins    >= 5.1 && < 5.2,
+                        lambdabot-irc-plugins        >= 5.1 && < 5.2,
+                        lambdabot-misc-plugins       >= 5.1 && < 5.2,
+                        lambdabot-novelty-plugins    >= 5.1 && < 5.2,
+                        lambdabot-reference-plugins  >= 5.1 && < 5.2,
+                        lambdabot-social-plugins     >= 5.1 && < 5.2,
+                        mtl                          >= 2
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -10,6 +10,7 @@
 
 import Control.Applicative
 import Control.Monad
+import Control.Monad.Identity
 import Data.Char
 import Data.Version
 import System.Console.GetOpt
@@ -17,7 +18,7 @@
 import System.Exit
 import System.IO
 
-flags :: [OptDescr (IO (DSum Config))]
+flags :: [OptDescr (IO (DSum Config Identity))]
 flags = 
     [ Option "h?" ["help"]  (NoArg (usage []))                      "Print this help message"
     , Option "e"  []        (arg "<command>" onStartupCmds   strs)  "Run a lambdabot command instead of a REPL"
@@ -27,8 +28,8 @@
     , Option "X"  []        (arg "<extension>" languageExts strs)   "Set a GHC language extension for @run"
     , Option "n"  ["nice"]  (NoArg noinsult)                        "Be nice (disable insulting error messages)"
     ] where 
-        arg :: String -> Config t -> (String -> IO t) -> ArgDescr (IO (DSum Config))
-        arg descr key fn = ReqArg (fmap (key :=>) . fn) descr
+        arg :: String -> Config t -> (String -> IO t) -> ArgDescr (IO (DSum Config Identity))
+        arg descr key fn = ReqArg (fmap (key ==>) . fn) descr
         
         strs = return . (:[])
         
@@ -39,7 +40,7 @@
                 , "Valid levels are: " ++ show [DEBUG, INFO, NOTICE, WARNING, ERROR, CRITICAL, ALERT, EMERGENCY]
                 ]
         
-        noinsult = return (enableInsults :=> False)
+        noinsult = return (enableInsults ==> False)
 
 versionString :: String
 versionString = ("lambdabot version " ++ showVersion P.version)
@@ -72,11 +73,11 @@
     config' <- sequence config
     dir <- P.getDataDir
     exitWith <=< lambdabotMain modulesInfo $
-        [dataDir :=> dir, lbVersion :=> P.version] ++ config'
+        [dataDir ==> dir, lbVersion ==> P.version] ++ config'
 
 -- special online target for ghci use
 online :: [String] -> IO ()
 online strs = do
     dir <- P.getDataDir
     void $ lambdabotMain modulesInfo
-        [dataDir :=> dir, lbVersion :=> P.version, onStartupCmds :=> strs]
+        [dataDir ==> dir, lbVersion ==> P.version, onStartupCmds ==> strs]
