diff --git a/lib/Multiarg/Limeline.hs b/lib/Multiarg/Limeline.hs
--- a/lib/Multiarg/Limeline.hs
+++ b/lib/Multiarg/Limeline.hs
@@ -6,6 +6,8 @@
 
 import Multiarg.Types
 import Multiarg.Maddash
+-- GHC 7.10 exports Word from the Prelude
+import Prelude hiding (Word)
 
 data PosArg a = PosArg a
   deriving (Eq, Ord, Show)
diff --git a/lib/Multiarg/Maddash.hs b/lib/Multiarg/Maddash.hs
--- a/lib/Multiarg/Maddash.hs
+++ b/lib/Multiarg/Maddash.hs
@@ -55,6 +55,8 @@
 
 import Control.Applicative
 import Multiarg.Types
+-- GHC 7.10 exports Word from the Prelude
+import Prelude hiding (Word)
 
 -- * Machine components
 
diff --git a/lib/Multiarg/Mode/Internal.hs b/lib/Multiarg/Mode/Internal.hs
--- a/lib/Multiarg/Mode/Internal.hs
+++ b/lib/Multiarg/Mode/Internal.hs
@@ -11,6 +11,8 @@
 import Multiarg.Internal
 import Multiarg.Util
 import Multiarg.Types
+-- GHC 7.10 exports Word from the Prelude
+import Prelude hiding (Word)
 
 newtype ModeName = ModeName String
   deriving (Eq, Ord, Show)
diff --git a/lib/Multiarg/Types.hs b/lib/Multiarg/Types.hs
--- a/lib/Multiarg/Types.hs
+++ b/lib/Multiarg/Types.hs
@@ -24,6 +24,10 @@
   , splitShortTail
   ) where
 
+-- GHC 7.10 incorporates 'Data.Word' into the Prelude, which clashes
+-- with a binding below.
+import Prelude hiding (Word)
+
 -- | Specifies how many /option arguments/ an /option/ takes.
 data ArgSpec a
   = ZeroArg a
diff --git a/multiarg.cabal b/multiarg.cabal
--- a/multiarg.cabal
+++ b/multiarg.cabal
@@ -3,12 +3,12 @@
 -- http://www.github.com/massysett/cartel
 --
 -- Script name used to generate: genCabal.hs
--- Generated on: 2015-03-22 11:20:01.157142 EDT
+-- Generated on: 2015-03-27 14:12:09.730827 EDT
 -- Cartel library version: 0.14.2.0
 
 name: multiarg
-version: 0.30.0.6
-cabal-version: >= 1.16
+version: 0.30.0.8
+cabal-version: >= 1.18
 license: BSD3
 license-file: LICENSE
 build-type: Simple
@@ -35,7 +35,7 @@
     -Wall
   default-language: Haskell2010
   build-depends:
-      base >= 4.5.0.0 && < 5
+      base >= 4.7.0.0 && < 5
   exposed-modules:
     Multiarg
     Multiarg.Examples
@@ -64,7 +64,7 @@
       -Wall
     default-language: Haskell2010
     build-depends:
-        base >= 4.5.0.0 && < 5
+        base >= 4.7.0.0 && < 5
     build-depends:
         QuickCheck >= 2.7 && < 2.9
       , tasty >= 0.10 && < 0.11
@@ -105,7 +105,7 @@
       -Wall
     default-language: Haskell2010
     build-depends:
-        base >= 4.5.0.0 && < 5
+        base >= 4.7.0.0 && < 5
     build-depends:
         QuickCheck >= 2.7 && < 2.9
       , tasty >= 0.10 && < 0.11
@@ -143,7 +143,7 @@
     -Wall
   default-language: Haskell2010
   build-depends:
-      base >= 4.5.0.0 && < 5
+      base >= 4.7.0.0 && < 5
   type: exitcode-stdio-1.0
   main-is: multiarg-tests.hs
   other-modules:
diff --git a/tests/Multiarg/Maddash/Tests.hs b/tests/Multiarg/Maddash/Tests.hs
--- a/tests/Multiarg/Maddash/Tests.hs
+++ b/tests/Multiarg/Maddash/Tests.hs
@@ -20,20 +20,20 @@
 genInt :: Gen Int
 genInt = arbitrary
 
-singleDash :: Word
-singleDash = Word "-"
+singleDash :: Multiarg.Types.Word
+singleDash = Multiarg.Types.Word "-"
 
-stopper :: Word
-stopper = Word "--"
+stopper :: Multiarg.Types.Word
+stopper = Multiarg.Types.Word "--"
 
-genNonOptWord :: Gen Word
+genNonOptWord :: Gen Multiarg.Types.Word
 genNonOptWord = oneof
   [ return singleDash
   , return stopper
   , do
       c1 <- arbitrary `suchThat` (/= '-')
       cs <- listOf arbitrary
-      return $ Word (c1 : cs)
+      return $ Multiarg.Types.Word (c1 : cs)
   ]
 
 genPending :: Arbitrary a => Gen (State a)
@@ -98,9 +98,9 @@
   { owtOptName :: OptName
   , owtArgSpec :: ArgSpec Int
   , owtArgs :: [String]
-  , owtWords :: [Word]
+  , owtWords :: [Multiarg.Types.Word]
   , owtResultOuts :: [[Output Int]]
-  , owtResultToks :: Maybe [Word]
+  , owtResultToks :: Maybe [Multiarg.Types.Word]
   , owtExpected :: Int
   } deriving Show
 
@@ -122,7 +122,7 @@
     let strings = case on of
           Left shrt -> processShortOptions [] (shrt, args)
           Right lng -> processLongOption lng args
-    toks <- fmap (map Word) $ pickOne strings
+    toks <- fmap (map Multiarg.Types.Word) $ pickOne strings
     let (shrts, lngs) = case on of
           Left shrt -> ([(shrt, as)], [])
           Right lng -> ([], [(lng, as)])
diff --git a/tests/Multiarg/Types/Instances.hs b/tests/Multiarg/Types/Instances.hs
--- a/tests/Multiarg/Types/Instances.hs
+++ b/tests/Multiarg/Types/Instances.hs
@@ -31,11 +31,11 @@
 instance Arbitrary OptName where
   arbitrary = fmap OptName arbitrary
 
-instance Arbitrary Word where
-  arbitrary = Word <$> arbitrary
+instance Arbitrary Multiarg.Types.Word where
+  arbitrary = Multiarg.Types.Word <$> arbitrary
 
-instance CoArbitrary Word where
-  coarbitrary (Word s) = coarbitrary s
+instance CoArbitrary Multiarg.Types.Word where
+  coarbitrary (Multiarg.Types.Word s) = coarbitrary s
 
 instance Arbitrary OptArg where
   arbitrary = OptArg <$> arbitrary
