diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+aeson-diff 1.1.0.4
+
+    * Resolve name clash that prevents building against aeson>=1.2 in
+      Stackage Nightly.
+
 aeson-diff 1.1.0.3
 
     * Relax upper bound on base dependency for Stackage LTS-9.
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -85,7 +85,7 @@
 - `diff :: Value -> Value -> Patch` examines source and target JSON `Value`s
 and constructs a new `Patch` describing the changes.
 
-- `patch :: Patch -> Value -> Value` applies the changes in a `Patch` to a JSON
+- `patch :: Patch -> Value -> Result Value` applies the changes in a `Patch` to a JSON
 `Value`. If an error results then an exception is thrown.
 
 For more complete information, see the [documentation][docs].
diff --git a/aeson-diff.cabal b/aeson-diff.cabal
--- a/aeson-diff.cabal
+++ b/aeson-diff.cabal
@@ -1,5 +1,5 @@
 name:                aeson-diff
-version:             1.1.0.3
+version:             1.1.0.4
 synopsis:            Extract and apply patches to JSON documents.
 description:
   .
diff --git a/src/diff.hs b/src/diff.hs
--- a/src/diff.hs
+++ b/src/diff.hs
@@ -18,7 +18,7 @@
 type File = Maybe FilePath
 
 -- | Command-line options.
-data Options = Options
+data DiffOptions = DiffOptions
     { optionTst  :: Bool
     , optionOut  :: File
     , optionFrom :: File
@@ -32,8 +32,8 @@
     , cfgTo   :: Handle
     }
 
-optionParser :: Parser Options
-optionParser = Options
+optionParser :: Parser DiffOptions
+optionParser = DiffOptions
     <$> switch
         (  long "test-before-remove"
         <> short 'T'
@@ -66,7 +66,7 @@
         Nothing -> error "Could not parse as JSON"
         Just v -> return v
 
-run :: Options -> IO ()
+run :: DiffOptions -> IO ()
 run opt = bracket (load opt) close process
   where
     openr :: Maybe FilePath -> IO Handle
@@ -77,8 +77,8 @@
     openw Nothing = return stdout
     openw (Just p) = openFile p WriteMode
 
-    load :: Options -> IO Configuration
-    load Options{..} =
+    load :: DiffOptions -> IO Configuration
+    load DiffOptions{..} =
         Configuration
             <$> pure  optionTst
             <*> openw optionOut
diff --git a/src/patch.hs b/src/patch.hs
--- a/src/patch.hs
+++ b/src/patch.hs
@@ -16,7 +16,7 @@
 type File = Maybe FilePath
 
 -- | Command-line options.
-data Options = Options
+data PatchOptions = PatchOptions
     { optionOut   :: File -- ^ JSON destination
     , optionPatch :: File -- ^ Patch input
     , optionFrom  :: File -- ^ JSON source
@@ -28,8 +28,8 @@
     , cfgFrom  :: Handle
     }
 
-optionParser :: Parser Options
-optionParser = Options
+optionParser :: Parser PatchOptions
+optionParser = PatchOptions
     <$> option fileP
         (  long "output"
         <> short 'o'
@@ -59,7 +59,7 @@
         Nothing -> error "Could not parse as JSON"
         Just v -> return v
 
-run :: Options -> IO ()
+run :: PatchOptions -> IO ()
 run opt = bracket (load opt) close process
   where
     openr :: Maybe FilePath -> IO Handle
@@ -70,8 +70,8 @@
     openw Nothing = return stdout
     openw (Just p) = openFile p WriteMode
 
-    load :: Options -> IO Configuration
-    load Options{..} =
+    load :: PatchOptions -> IO Configuration
+    load PatchOptions{..} =
         Configuration
             <$> openw optionOut
             <*> openr optionPatch
diff --git a/stack.yaml b/stack.yaml
--- a/stack.yaml
+++ b/stack.yaml
@@ -1,4 +1,4 @@
-resolver: lts-8.5
+resolver: lts-9.5
 extra-deps:
 - edit-distance-vector-1.0.0.4
 flags: {}
