diff --git a/Kit/Commands.hs b/Kit/Commands.hs
--- a/Kit/Commands.hs
+++ b/Kit/Commands.hs
@@ -19,17 +19,7 @@
 import Control.Monad.Error
 import Control.Monad.Reader
 
-newtype Command a = Command { unCommand :: (ReaderT (WorkingCopy, KitRepository) (ErrorT String IO) a) } deriving Monad
-
-instance MonadIO Command where
-  liftIO a = Command $ liftIO a
-
-instance Functor Command where
-  fmap f v = Command $ fmap f (unCommand v)
-
-instance Applicative Command where
-  pure = Command . pure
-  f <*> v = Command $ (unCommand f) <*> (unCommand v)
+newtype Command a = Command { unCommand :: (ReaderT (WorkingCopy, KitRepository) (ErrorT String IO) a) } deriving (Monad, MonadIO, Functor, Applicative)
 
 liftKit :: KitIO a -> Command a
 liftKit = Command . ReaderT . const
diff --git a/kit.cabal b/kit.cabal
--- a/kit.cabal
+++ b/kit.cabal
@@ -1,5 +1,5 @@
 name:           kit
-version:        0.7.2
+version:        0.7.3
 cabal-version:  >=1.2
 build-type:     Simple
 license:        BSD3
@@ -14,10 +14,10 @@
 Executable kit
   main-is:        Main.hs
   buildable:      True
-  build-depends:  process -any, network -any, mtl -any, 
+  build-depends:  process -any, network -any, mtl >= 2.0 && < 3, 
                   filepath -any, directory -any, containers -any, cmdargs >=0.3,
                   bytestring -any, base >=3 && <5,
-                  HTTP >=4000.0.9, Glob >= 0.5, data-object -any, data-object-yaml -any,
+                  HTTP >=4000.0.9, Glob >= 0.5.1 && < 6, data-object -any, data-object-yaml -any,
                   unix >= 2.4 && < 2.5, ansi-terminal >= 0.5.5
 
   hs-source-dirs: .
