diff --git a/pretty-simple.cabal b/pretty-simple.cabal
--- a/pretty-simple.cabal
+++ b/pretty-simple.cabal
@@ -1,87 +1,82 @@
-name: pretty-simple
-version: 1.0.0.5
-cabal-version: >=1.10
-build-type: Simple
-license: BSD3
-license-file: LICENSE
-copyright: 2017 Dennis Gosnell
-maintainer: cdep.illabout@gmail.com
-homepage: https://github.com/cdepillabout/pretty-simple
-synopsis: pretty printer for data types with a 'Show' instance.
-description:
-    Please see README.md
-category: Text
-author: Dennis Gosnell
-extra-source-files:
-    README.md
-    img/pretty-simple-example-screenshot.png
-
-source-repository head
-    type: git
-    location: git@github.com:cdepillabout/pretty-simple.git
+name:                pretty-simple
+version:             1.0.0.6
+synopsis:            pretty printer for data types with a 'Show' instance.
+description:         Please see README.md
+homepage:            https://github.com/cdepillabout/pretty-simple
+license:             BSD3
+license-file:        LICENSE
+author:              Dennis Gosnell
+maintainer:          cdep.illabout@gmail.com
+copyright:           2017 Dennis Gosnell
+category:            Text
+build-type:          Simple
+extra-source-files:  README.md
+                   , img/pretty-simple-example-screenshot.png
+cabal-version:       >=1.10
 
 flag buildexample
-    description:
-        Build a small example program showing how to use the pPrint function
-    default: False
+  description: Build a small example program showing how to use the pPrint function
+  default:     False
 
 library
-    exposed-modules:
-        Text.Pretty.Simple
-        Text.Pretty.Simple.Internal
-        Text.Pretty.Simple.Internal.Expr
-        Text.Pretty.Simple.Internal.ExprParser
-        Text.Pretty.Simple.Internal.ExprToOutput
-        Text.Pretty.Simple.Internal.Output
-        Text.Pretty.Simple.Internal.OutputPrinter
-    build-depends:
-        base >=4.8 && <5,
-        ansi-terminal >=0.6.2.3 && <0.7,
-        containers >=0.5.7.1 && <0.6,
-        lens ==4.14.*,
-        mono-traversable >=1.0.1 && <1.1,
-        mtl >=2.2.1 && <2.3,
-        parsec >=3.1.11 && <3.2,
-        semigroups >=0.18.2 && <0.19,
-        text >=1.2.2.1 && <1.3,
-        transformers >=0.5.2.0 && <0.6
-    default-language: Haskell2010
-    other-extensions: TemplateHaskell
-    hs-source-dirs: src
-    ghc-options: -Wall
+  hs-source-dirs:      src
+  exposed-modules:     Text.Pretty.Simple
+                     , Text.Pretty.Simple.Internal
+                     , Text.Pretty.Simple.Internal.Expr
+                     , Text.Pretty.Simple.Internal.ExprParser
+                     , Text.Pretty.Simple.Internal.ExprToOutput
+                     , Text.Pretty.Simple.Internal.Output
+                     , Text.Pretty.Simple.Internal.OutputPrinter
+  build-depends:       base >= 4.8 && < 5
+                     , ansi-terminal >= 0.6
+                     , containers >= 0.5
+                     , lens >= 4.13
+                     , mono-traversable >= 0.10
+                     , mtl >= 2.2
+                     , parsec >= 3.1
+                     , semigroups >= 0.18
+                     , text >= 1.2
+                     , transformers >= 0.4
+  default-language:    Haskell2010
+  ghc-options:         -Wall
+  other-extensions:    TemplateHaskell
 
 executable pretty-simple-example
-    main-is: Example.hs
-    buildable: False
-    build-depends:
-        base >=4.9.0.0 && <4.10,
-        pretty-simple >=1.0.0.5 && <1.1
-    default-language: Haskell2010
-    hs-source-dirs: example
-    other-modules:
-        Example.Data
-    ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
+  main-is:             Example.hs
+  other-modules:       Example.Data
+  hs-source-dirs:      example
+  build-depends:       base
+                     , pretty-simple
+  default-language:    Haskell2010
+  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
 
+  if flag(buildexample)
+    buildable:       True
+  else
+    buildable:       False
+
 test-suite pretty-simple-doctest
-    type: exitcode-stdio-1.0
-    main-is: DocTest.hs
-    build-depends:
-        base >=4.9.0.0 && <4.10,
-        doctest >=0.11.0 && <0.12,
-        Glob >=0.7.13 && <0.8
-    default-language: Haskell2010
-    hs-source-dirs: test
-    ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
+  type:                exitcode-stdio-1.0
+  main-is:             DocTest.hs
+  hs-source-dirs:      test
+  build-depends:       base
+                     , doctest
+                     , Glob
+  default-language:    Haskell2010
+  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
 
 benchmark pretty-simple-bench
-    type: exitcode-stdio-1.0
-    main-is: Bench.hs
-    build-depends:
-        base >=4.9.0.0 && <4.10,
-        criterion >=1.1.1.0 && <1.2,
-        pretty-simple >=1.0.0.5 && <1.1
-    default-language: Haskell2010
-    hs-source-dirs: bench example
-    other-modules:
-        Example.Data
-    ghc-options: -Wall -threaded -rtsopts -with-rtsopts=-N
+  type:                exitcode-stdio-1.0
+  main-is:             Bench.hs
+  other-modules:       Example.Data
+  hs-source-dirs:      bench
+                     , example
+  build-depends:       base
+                     , criterion
+                     , pretty-simple
+  default-language:    Haskell2010
+  ghc-options:         -Wall -threaded -rtsopts -with-rtsopts=-N
+
+source-repository head
+  type:     git
+  location: git@github.com:cdepillabout/pretty-simple.git
