diff --git a/hindent.cabal b/hindent.cabal
--- a/hindent.cabal
+++ b/hindent.cabal
@@ -1,5 +1,5 @@
 name:                hindent
-version:             4.3.11
+version:             4.3.12
 synopsis:            Extensible Haskell pretty printer
 description:         Extensible Haskell pretty printer. Both a library and an executable.
                      .
@@ -50,8 +50,10 @@
   build-depends:     base >= 4 && < 5
                    , hindent
                    , text
-                   , descriptive >= 0.7 && < 0.9
+                   , descriptive >= 0.7 && < 0.10
                    , haskell-src-exts >= 1.16
+                   , applicative-quoters
+                   , ghc-prim
 
 executable hindent-generate-tests
   hs-source-dirs:    src/main
diff --git a/src/main/Main.hs b/src/main/Main.hs
--- a/src/main/Main.hs
+++ b/src/main/Main.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE PatternGuards #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE ViewPatterns #-}
+{-# LANGUAGE QuasiQuotes #-}
 
 -- | Main entry point to hindent.
 --
@@ -12,6 +13,7 @@
 import           HIndent.Types
 
 import           Control.Applicative
+import           Control.Applicative.QQ.Idiom
 import           Data.List
 import           Data.Text (Text)
 import qualified Data.Text as T
@@ -20,6 +22,7 @@
 import           Data.Version (showVersion)
 import           Descriptive
 import           Descriptive.Options
+import           GHC.Tuple
 import           Language.Haskell.Exts.Annotated hiding (Style,style)
 import           Paths_hindent (version)
 import           System.Environment
@@ -48,19 +51,18 @@
         => Consumer [Text] (Option Stoppers) m (Style,[Extension])
 options =
   ver *>
-  ((,) <$> style <*> exts)
+  [i|(,) style exts|]
   where ver =
           stop (flag "version" "Print the version" Version)
         style =
-          makeStyle <$>
-          (constant "--style" "Style to print with" () *>
-           foldr1 (<|>)
-                  (map (\s ->
-                          constant (styleName s)
-                                   (styleDescription s)
-                                   s)
-                       styles)) <*>
-          lineLen
+          [i|makeStyle (constant "--style" "Style to print with" () *>
+                        foldr1 (<|>)
+                               (map (\s ->
+                                       constant (styleName s)
+                                                (styleDescription s)
+                                                s)
+                                    styles))
+                       lineLen|]
         exts =
           fmap getExtensions (many (prefix "X" "Language extension"))
         lineLen =
