diff --git a/alpino-tools.cabal b/alpino-tools.cabal
--- a/alpino-tools.cabal
+++ b/alpino-tools.cabal
@@ -1,5 +1,5 @@
 Name:		alpino-tools
-Version:	0.0.4
+Version:	0.0.5
 License:	OtherLicense
 License-file:	LICENSE
 Copyright:	Copyright 2010 Daniël de Kok
@@ -16,7 +16,7 @@
   Exposed-Modules:	Data.Alpino.Model, Data.Alpino.Model.Enumerator
   Build-Depends:	base >= 4 && < 5, bytestring >= 0.9.1.7,
                         utf8-string >= 0.3.6, bytestring-lexing >= 0.2.1,
-                        enumerator >= 0.4.5 && < 0.5, transformers >= 0.2.2.0,
+                        enumerator >= 0.4.8 && < 0.5, transformers >= 0.2.2.0,
                         containers >= 0.3.0.0, random >= 1.0.0.3,
                         random-shuffle >= 0.0.2
   HS-Source-Dirs:       src
diff --git a/src/Data/Alpino/Model/Enumerator.hs b/src/Data/Alpino/Model/Enumerator.hs
--- a/src/Data/Alpino/Model/Enumerator.hs
+++ b/src/Data/Alpino/Model/Enumerator.hs
@@ -32,9 +32,8 @@
 import qualified Data.Alpino.Model as AM
 import qualified Data.ByteString as B
 import qualified Data.ByteString.UTF8 as BU
-import qualified Data.Enumerator as E
-import Data.Enumerator hiding (isEOF, head, length, map)
 import qualified Data.Enumerator.List as EL
+import Data.Enumerator hiding (isEOF, head, length, map)
 import qualified Data.Set as Set
 import Data.Typeable
 import System.IO (isEOF)
@@ -51,14 +50,14 @@
 -- | Retrieve the best score from a list of training instances.
 bestScore :: (Monad m) =>
                Enumeratee [AM.TrainingInstance] Double m b
-bestScore = E.map AM.bestScore'
+bestScore = EL.map AM.bestScore'
 
 -- |
 -- Filter features by exact names. A modifier function can be applied,
 -- for instance, the 'not' function would exclude the specified features.
 filterFeatures :: (Monad m) =>  (Bool -> Bool) -> Set.Set B.ByteString ->
                   Enumeratee AM.TrainingInstance AM.TrainingInstance m b
-filterFeatures f keepFeatures = E.map (AM.filterFeatures f keepFeatures)
+filterFeatures f keepFeatures = EL.map (AM.filterFeatures f keepFeatures)
 
 -- |
 -- Filter features by their functor. A modifier function can be applied,
@@ -66,7 +65,7 @@
 filterFeaturesFunctor :: (Monad m) =>  (Bool -> Bool) -> Set.Set B.ByteString ->
                          Enumeratee AM.TrainingInstance AM.TrainingInstance m b
 filterFeaturesFunctor f keepFeatures =
-    E.map (AM.filterFeaturesFunctor f keepFeatures)
+    EL.map (AM.filterFeaturesFunctor f keepFeatures)
 
 -- | Enumeratee grouping chunks according to an equality function.
 groupBy :: (Monad m, Eq a) => (a -> a -> Bool) ->
@@ -98,7 +97,7 @@
 -- | Enumeratee that converts `AM.TrainingInstance` to `B.ByteString`.
 instanceGenerator :: (Monad m) =>
                      Enumeratee AM.TrainingInstance B.ByteString m b
-instanceGenerator = E.map AM.trainingInstanceToBs
+instanceGenerator = EL.map AM.trainingInstanceToBs
 
 -- | Enumerator of lines read from the standard input.
 lineEnum :: MonadIO m => Enumerator B.ByteString m b
@@ -153,7 +152,7 @@
 -- | Extract a random sample of @n@ instances from a context.
 randomSample :: (MonadIO m) => Int ->
                 Enumeratee [AM.TrainingInstance] [AM.TrainingInstance] m b
-randomSample n = mapM (liftIO . sampleFun)
+randomSample n = EL.mapM (liftIO . sampleFun)
     where sampleFun :: [AM.TrainingInstance] -> IO [AM.TrainingInstance]
           sampleFun i = do
             gen <- getStdRandom split
@@ -164,18 +163,18 @@
 -- /0.0/ for the rest).
 scoreToBinary :: (Monad m) =>
                  Enumeratee [AM.TrainingInstance] [AM.TrainingInstance] m b
-scoreToBinary = E.map AM.scoreToBinary
+scoreToBinary = EL.map AM.scoreToBinary
 
 -- |
 -- Enumerator recalculating scores, dividing a score of /1.0/ uniformly
 -- over instances with the highest quality score.
 scoreToBinaryNorm :: (Monad m) =>
                      Enumeratee [AM.TrainingInstance] [AM.TrainingInstance] m b
-scoreToBinaryNorm = E.map AM.scoreToBinaryNorm
+scoreToBinaryNorm = EL.map AM.scoreToBinaryNorm
 
 -- |
 -- Enumerator that normalized instance scores over all instances
 -- in the list.
 scoreToNorm :: (Monad m) =>
                Enumeratee [AM.TrainingInstance] [AM.TrainingInstance] m b
-scoreToNorm = E.map AM.scoreToNorm
+scoreToNorm = EL.map AM.scoreToNorm
