diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,11 @@
 
+0.5
+---
+
+New features:
+ * Added support for passing arguments directly to `aspell` via the new
+   `RawArg` constructor of `AspellOption` (#6)
+
 0.4
 ---
 
diff --git a/aspell-pipe.cabal b/aspell-pipe.cabal
--- a/aspell-pipe.cabal
+++ b/aspell-pipe.cabal
@@ -1,5 +1,5 @@
 name:                aspell-pipe
-version:             0.4
+version:             0.5
 synopsis:            Pipe-based interface to the Aspell program
 description:         A pipe-based interface to the Aspell program (no
                      dynamic linking required).
diff --git a/src/Text/Aspell.hs b/src/Text/Aspell.hs
--- a/src/Text/Aspell.hs
+++ b/src/Text/Aspell.hs
@@ -75,10 +75,15 @@
 data AspellOption =
     UseDictionary T.Text
     -- ^ Use the specified dictionary (see aspell -d).
+    | RawArg T.Text
+    -- ^ Provide a command-line argument directly to aspell.
     deriving (Show, Eq)
 
 -- | Start Aspell with the specified options. Returns either an error
 -- message on failure or an Aspell handle on success.
+--
+-- Any 'RawArg's provided in the option list are provided to @aspell@ as
+-- command-line arguments in the order provided.
 startAspell :: [AspellOption] -> IO (Either String Aspell)
 startAspell options = do
     optResult <- checkOptions options
@@ -139,6 +144,7 @@
 aspellCommand = "aspell"
 
 checkOption :: AspellOption -> IO (Maybe String)
+checkOption (RawArg {}) = return Nothing
 checkOption (UseDictionary d) = do
     -- Get the list of installed dictionaries and check whether the
     -- desired dictionary is included.
@@ -158,6 +164,7 @@
 
 optionToArgs :: AspellOption -> [String]
 optionToArgs (UseDictionary d) = ["-d", T.unpack d]
+optionToArgs (RawArg val) = [T.unpack val]
 
 -- | Stop a running Aspell instance.
 stopAspell :: Aspell -> IO ()
