diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,3 +1,7 @@
+### 1.6.1
+
+- Upgraded Cabal version constraint.
+
 ### 1.6.0
 
 - Implemented type and role disambiguation helper to prevent segfaults in
diff --git a/NgxExport.hs b/NgxExport.hs
--- a/NgxExport.hs
+++ b/NgxExport.hs
@@ -143,30 +143,29 @@
                              | IOYYSync
                              | IOYYAsync
 
-$(do
-      TyConI (DataD _ _ _ EXTRA_WILDCARD_BEFORE_CON tCs _) <-
-          reify ''NgxExport
-      TyConI (DataD _ _ _ EXTRA_WILDCARD_BEFORE_CON aCs _) <-
-          reify ''NgxExportDisambiguation
-      let tName = mkName "exportType"
-          aName = mkName "exportTypeAmbiguity"
-          tCons = map (\(NormalC con [(_, typ)]) -> (con, typ)) tCs
-          aCons = map (\(NormalC con []) -> con) aCs
-      sequence $
-          [sigD tName [t|NgxExport -> IO CInt|]
-          ,funD tName $
-               map (\(fst -> c, i) ->
-                      clause [conP c [wildP]] (normalB [|return i|]) []
-                   ) (zip tCons [1 ..] :: [((Name, Type), Int)])
-          ,sigD aName [t|NgxExportDisambiguation -> IO CInt|]
-          ,funD aName $
-               map (\(c, i) ->
-                      clause [conP c []] (normalB [|return i|]) []
-                   ) (zip aCons [0 ..] :: [(Name, Int)])
-          ]
-          ++
-          map (\(c, t) -> tySynD (mkName $ nameBase c) [] $ return t) tCons
- )
+do
+    TyConI (DataD _ _ _ EXTRA_WILDCARD_BEFORE_CON tCs _) <-
+        reify ''NgxExport
+    TyConI (DataD _ _ _ EXTRA_WILDCARD_BEFORE_CON aCs _) <-
+        reify ''NgxExportDisambiguation
+    let tName = mkName "exportType"
+        aName = mkName "exportTypeAmbiguity"
+        tCons = map (\(NormalC con [(_, typ)]) -> (con, typ)) tCs
+        aCons = map (\(NormalC con []) -> con) aCs
+    sequence $
+        [sigD tName [t|NgxExport -> IO CInt|]
+        ,funD tName $
+             map (\(fst -> c, i) ->
+                    clause [conP c [wildP]] (normalB [|return i|]) []
+                 ) (zip tCons [1 ..] :: [((Name, Type), Int)])
+        ,sigD aName [t|NgxExportDisambiguation -> IO CInt|]
+        ,funD aName $
+             map (\(c, i) ->
+                    clause [conP c []] (normalB [|return i|]) []
+                 ) (zip aCons [0 ..] :: [(Name, Int)])
+        ]
+        ++
+        map (\(c, t) -> tySynD (mkName $ nameBase c) [] $ return t) tCons
 
 ngxExport' :: (Name -> Q Exp) ->
     Name -> Name -> Name -> Q Type -> Name -> Q [Dec]
diff --git a/ngx-export.cabal b/ngx-export.cabal
--- a/ngx-export.cabal
+++ b/ngx-export.cabal
@@ -1,8 +1,8 @@
 name:                       ngx-export
-version:                    1.6.0
+version:                    1.6.1
 synopsis:                   Helper module for Nginx haskell module
 description:                Helper module for
-        <http://github.com/lyokha/nginx-haskell-module Nginx haskell module>
+        <http://github.com/lyokha/nginx-haskell-module Nginx haskell module>.
 homepage:                   http://github.com/lyokha/nginx-haskell-module
 license:                    BSD3
 license-file:               LICENSE
@@ -13,9 +13,10 @@
 copyright:                  2016-2018 Alexey Radkov
 category:                   Network
 build-type:                 Simple
-cabal-version:              >= 1.8
+cabal-version:              1.20
 
 library
+  default-language:         Haskell2010
   build-depends:            base >= 4.8 && < 5
                           , template-haskell
                           , bytestring >= 0.10.0.0
@@ -27,7 +28,7 @@
 
   exposed-modules:          NgxExport
   other-modules:            Paths_ngx_export
-  extensions:               CPP
+  default-extensions:       CPP
 
   ghc-options:             -Wall
   if impl(ghc < 8.0)
