diff --git a/HpcCombine.hs b/HpcCombine.hs
index 57c698a8ca2f18f4d36b2b9c479b181a7882f279..190a727a5f382067bc9bfe3d0c0f51cbf4191839 100644
--- a/HpcCombine.hs
+++ b/HpcCombine.hs
@@ -11,8 +11,8 @@ import Trace.Hpc.Util
 import HpcFlags
 
 import Control.Monad
-import qualified HpcSet as Set
-import qualified HpcMap as Map
+import qualified Data.Set as Set
+import qualified Data.Map as Map
 
 ------------------------------------------------------------------------------
 sum_options :: FlagOptSeq
diff --git a/HpcDraft.hs b/HpcDraft.hs
index 3527fdf216457af862ecfb79ee85030d19b91883..7b43352228737744c387dc8e7d9ba781ea3bf3ed 100644
--- a/HpcDraft.hs
+++ b/HpcDraft.hs
@@ -6,8 +6,8 @@ import Trace.Hpc.Util
 
 import HpcFlags
 
-import qualified HpcSet as Set
-import qualified HpcMap as Map
+import qualified Data.Set as Set
+import qualified Data.Map as Map
 import HpcUtils
 import Data.Tree
 
diff --git a/HpcFlags.hs b/HpcFlags.hs
index 30cc40175cf82a3ae0d0ec3daf2abd473e2cc6f7..f5d699a04c8e03de9db92540aae08f7a90da540e 100644
--- a/HpcFlags.hs
+++ b/HpcFlags.hs
@@ -3,7 +3,7 @@
 module HpcFlags where
 
 import System.Console.GetOpt
-import qualified HpcSet as Set
+import qualified Data.Set as Set
 import Data.Char
 import Trace.Hpc.Tix
 import Trace.Hpc.Mix
diff --git a/HpcMap.hs b/HpcMap.hs
deleted file mode 100644
index 873fc5073baeb56a5faa7baa7d8cd001712a3cfe..0000000000000000000000000000000000000000
--- a/HpcMap.hs
+++ /dev/null
@@ -1,32 +0,0 @@
-module HpcMap ( module HpcMap ) where
-
-#if __GLASGOW_HASKELL__ < 604
-import qualified Data.FiniteMap as Map
-#else
-import qualified Data.Map as Map
-#endif
-
-
-lookup :: Ord key => key -> Map key elt -> Maybe elt
-fromList :: Ord key => [(key,elt)] -> Map key elt
-fromListWith :: Ord k => (a -> a -> a) -> [(k, a)] -> Map k a
-toList :: Ord key => Map key elt -> [(key,elt)]
-
-#if __GLASGOW_HASKELL__ < 604
-type Map key elt = Map.FiniteMap key elt
-
-lookup = flip Map.lookupFM
-fromList = Map.listToFM 
-fromListWith f xs = Map.addListToFM_C f Map.emptyFM xs
-toList = Map.fmToList
-
-#else
-
-type Map key elt = Map.Map key elt
-
-lookup = Map.lookup
-fromList = Map.fromList
-toList   = Map.toList
-fromListWith = Map.fromListWith
-
-#endif
diff --git a/HpcMarkup.hs b/HpcMarkup.hs
index f734f65bd905e76bc0b22e5ca2eba2da9a2621a4..46e17090f4d7b866237891756d74fdefecaa423f 100644
--- a/HpcMarkup.hs
+++ b/HpcMarkup.hs
@@ -18,7 +18,7 @@ import Data.Maybe(fromJust)
 import Data.Array
 import Data.Monoid
 import Control.Monad
-import qualified HpcSet as Set
+import qualified Data.Set as Set
 
 ------------------------------------------------------------------------------
 
diff --git a/HpcOverlay.hs b/HpcOverlay.hs
index e415578c076eff833b9a6950c8d13150c262f8bf..a074d6c7faafd9d7e78ba5135d683bd717d4d91b 100644
--- a/HpcOverlay.hs
+++ b/HpcOverlay.hs
@@ -6,7 +6,7 @@ import HpcUtils
 import Trace.Hpc.Tix
 import Trace.Hpc.Mix
 import Trace.Hpc.Util
-import HpcMap as Map
+import qualified Data.Map as Map
 import Data.Tree
 
 overlay_options :: FlagOptSeq
diff --git a/HpcReport.hs b/HpcReport.hs
index 5d8c7146925f57866b275b77eb3479e192edf02d..d3e3ef07232aba40553fb36ac67688c5f0a0176f 100644
--- a/HpcReport.hs
+++ b/HpcReport.hs
@@ -11,7 +11,7 @@ import HpcFlags
 import Trace.Hpc.Mix
 import Trace.Hpc.Tix
 import Control.Monad hiding (guard)
-import qualified HpcSet as Set
+import qualified Data.Set as Set
 
 notExpecting :: String -> a
 notExpecting s = error ("not expecting "++s)
diff --git a/HpcSet.hs b/HpcSet.hs
deleted file mode 100644
index d5dfe38fc7549b4ea51dc69860fe86a95914f64d..0000000000000000000000000000000000000000
--- a/HpcSet.hs
+++ /dev/null
@@ -1,39 +0,0 @@
-module HpcSet (	module HpcSet ) where 
-
-import qualified Data.Set as Set
-
-type Set a = Set.Set a
-
-empty  :: Set a
-insert :: (Ord a) => a -> Set a -> Set a
-member :: (Ord a) => a -> Set a -> Bool
-null   :: Set a -> Bool
-intersection :: Ord a => Set a -> Set a -> Set a
-fromList :: Ord a => [a] -> Set a
-toList :: Set a -> [a]
-union :: Ord a => Set a -> Set a -> Set a
-
-#if __GLASGOW_HASKELL__ < 604
-
-empty  = Set.emptySet
-insert = flip Set.addToSet
-member = Set.elementOf
-null   = Set.isEmptySet
-intersection = Set.intersect
-fromList = Set.mkSet
-toList = Set.setToList
-union = Set.union
-
-#else
-
-empty  = Set.empty
-insert = Set.insert
-member = Set.member
-null   = Set.null
-intersection = Set.intersection
-fromList = Set.fromList
-toList = Set.toList
-union = Set.union
-
-#endif
-
diff --git a/HpcShowTix.hs b/HpcShowTix.hs
index efeb19e275bfd4bb8d62bb0b088d28a9a053e2bb..7fd651550aee613841a919d893c4b3071d8aa108 100644
--- a/HpcShowTix.hs
+++ b/HpcShowTix.hs
@@ -5,7 +5,7 @@ import Trace.Hpc.Tix
 
 import HpcFlags
 
-import qualified HpcSet as Set
+import qualified Data.Set as Set
 
 showtix_options :: FlagOptSeq
 showtix_options 
diff --git a/HpcUtils.hs b/HpcUtils.hs
index 0f566297822d87fbab24528b3c430320bc27f841..397a04196558224efd5a2eec0d109c54ca93bbd0 100644
--- a/HpcUtils.hs
+++ b/HpcUtils.hs
@@ -1,7 +1,7 @@
 module HpcUtils where
 
 import Trace.Hpc.Util
-import qualified HpcMap as Map
+import qualified Data.Map as Map
 
 -- turns \n into ' '
 -- | grab's the text behind a HpcPos; 
diff --git a/ghc.mk b/ghc.mk
index abc3a54595e8245e8c2cad520f56b154a4f8fd4b..164dacffb81932d6da142cbfe47b937dc6d08533 100644
--- a/ghc.mk
+++ b/ghc.mk
@@ -10,8 +10,8 @@
 #
 # -----------------------------------------------------------------------------
 
-utils/hpc_dist_MODULES = Main HpcCombine HpcDraft HpcFlags HpcLexer HpcMap \
-			 HpcMarkup HpcOverlay HpcParser HpcReport HpcSet \
+utils/hpc_dist_MODULES = Main HpcCombine HpcDraft HpcFlags HpcLexer \
+			 HpcMarkup HpcOverlay HpcParser HpcReport \
 			 HpcShowTix HpcUtils
 utils/hpc_dist_HC_OPTS = -cpp -package hpc
 utils/hpc_dist_INSTALL = YES