diff --git a/Ganeti/HTools/Luxi.hs b/Ganeti/HTools/Luxi.hs
index 4463683bafd295b2c52e61cbff82947205d0b965..fc7da138db1cfa4ec5d270b0a0e4f560bb99104e 100644
--- a/Ganeti/HTools/Luxi.hs
+++ b/Ganeti/HTools/Luxi.hs
@@ -28,9 +28,7 @@ module Ganeti.HTools.Luxi
       loadData
     ) where
 
-import Data.List
 import qualified Control.Exception as E
-import Control.Monad
 import Text.JSON.Types
 
 import qualified Ganeti.Luxi as L
diff --git a/Ganeti/HTools/PeerMap.hs b/Ganeti/HTools/PeerMap.hs
index 27e9938696c3fc337f92ec29f260443e44117c8a..a101dd1c88339958a16f41433e38f7765315258c 100644
--- a/Ganeti/HTools/PeerMap.hs
+++ b/Ganeti/HTools/PeerMap.hs
@@ -43,7 +43,6 @@ module Ganeti.HTools.PeerMap
 import Data.Maybe (fromMaybe)
 import Data.List
 import Data.Function
-import Data.Ord
 
 import Ganeti.HTools.Types
 
diff --git a/Ganeti/HTools/Rapi.hs b/Ganeti/HTools/Rapi.hs
index 623baeb5bc4d0a16114c07a6551b2270ebabef73..a0367b72051008b325e98c1c3f31561e8164b55a 100644
--- a/Ganeti/HTools/Rapi.hs
+++ b/Ganeti/HTools/Rapi.hs
@@ -30,8 +30,6 @@ module Ganeti.HTools.Rapi
 
 import Network.Curl
 import Network.Curl.Types ()
-import Network.Curl.Code
-import Data.List
 import Control.Monad
 import Text.JSON (JSObject, JSValue, fromJSObject, decodeStrict)
 import Text.JSON.Types (JSValue(..))
diff --git a/Ganeti/HTools/Simu.hs b/Ganeti/HTools/Simu.hs
index d8221687135fdc7056c0cbbd19a7ad49ebbf30db..81c57682e55b185635143d707681b5d8cc438c24 100644
--- a/Ganeti/HTools/Simu.hs
+++ b/Ganeti/HTools/Simu.hs
@@ -30,7 +30,6 @@ module Ganeti.HTools.Simu
       loadData
     ) where
 
-import Control.Monad
 import Text.Printf (printf)
 
 import Ganeti.HTools.Utils
diff --git a/Ganeti/HTools/Utils.hs b/Ganeti/HTools/Utils.hs
index 66498db7027065bddf321d157ce6d382cf828161..e7f63b39e4f54abc4040cea0143f1d09a16695a4 100644
--- a/Ganeti/HTools/Utils.hs
+++ b/Ganeti/HTools/Utils.hs
@@ -42,7 +42,6 @@ module Ganeti.HTools.Utils
     ) where
 
 import Data.List
-import Control.Monad
 import qualified Text.JSON as J
 import Text.Printf (printf)
 
diff --git a/Ganeti/Luxi.hs b/Ganeti/Luxi.hs
index 0468a4df1b501762610845dbdddd37a214e70719..26ca7f6e9b0228016d879b25fabb1417aba60a5a 100644
--- a/Ganeti/Luxi.hs
+++ b/Ganeti/Luxi.hs
@@ -33,10 +33,9 @@ module Ganeti.Luxi
     , queryJobsStatus
     ) where
 
-import Data.List
 import Data.IORef
 import Control.Monad
-import Text.JSON (JSObject, JSValue, toJSObject, encodeStrict, decodeStrict)
+import Text.JSON (encodeStrict, decodeStrict)
 import qualified Text.JSON as J
 import Text.JSON.Types
 import System.Timeout
diff --git a/Ganeti/OpCodes.hs b/Ganeti/OpCodes.hs
index ca2d8f4318b36c48111675bee5136c9c4f406d75..53c97a16e199f72f9bc47f8e0e13aaadca6eb364 100644
--- a/Ganeti/OpCodes.hs
+++ b/Ganeti/OpCodes.hs
@@ -29,9 +29,8 @@ module Ganeti.OpCodes
     , opID
     ) where
 
-import Data.List
 import Control.Monad
-import Text.JSON (JSObject, JSValue, readJSON, showJSON, makeObj, JSON)
+import Text.JSON (readJSON, showJSON, makeObj, JSON)
 import qualified Text.JSON as J
 import Text.JSON.Types
 
diff --git a/hail.hs b/hail.hs
index 8af889b75e158bd555268f8be89315bbfa0dd275..886b07101451eec3b464294aa113071642a67dc1 100644
--- a/hail.hs
+++ b/hail.hs
@@ -26,10 +26,9 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 module Main (main) where
 
 import Data.List
-import Data.Function
 import Data.Maybe (isJust, fromJust)
 import Monad
-import System
+import System (exitWith, ExitCode(..))
 import System.IO
 import qualified System
 
diff --git a/hbal.hs b/hbal.hs
index 529a6431c4c3c33fe30ca21c9081b655255a9db5..635fc3c2907cffd3b179fda0c9867edbd1e1634b 100644
--- a/hbal.hs
+++ b/hbal.hs
@@ -28,10 +28,9 @@ module Main (main) where
 import Control.Concurrent (threadDelay)
 import Control.Exception (bracket)
 import Data.List
-import Data.Function
 import Data.Maybe (isJust, fromJust)
 import Monad
-import System
+import System (exitWith, ExitCode(..))
 import System.IO
 import qualified System
 
diff --git a/hscan.hs b/hscan.hs
index f36758b8077e0104078269449370c819a13e316d..44985ae15f2482c3e5554c40c80d1feaf1f74d54 100644
--- a/hscan.hs
+++ b/hscan.hs
@@ -28,10 +28,11 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 module Main (main) where
 
 import Data.List
-import Data.Function
 import Data.Maybe (isJust, fromJust)
 import Monad
-import System
+#ifdef NO_CURL
+import System (exitWith, ExitCode(..))
+#endif
 import System.IO
 import System.FilePath
 import qualified System
diff --git a/hspace.hs b/hspace.hs
index d55762cbe53bf13f6ae68a5a2b0ed92bad846c07..429288816f141bc0002a68cc8c19b4e4a30e9c55 100644
--- a/hspace.hs
+++ b/hspace.hs
@@ -30,7 +30,7 @@ import Data.List
 import Data.Function
 import Data.Maybe (isJust, fromJust)
 import Monad
-import System
+import System (exitWith, ExitCode(..))
 import System.IO
 import qualified System