diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -2,6 +2,14 @@
 
 A thin GeoJSON Layer above the `aeson` library
 
+## Development
+
+Run tests:
+* `stack test :geojson-test`
+
+Run hlint:
+* `stack test :geojson-hlint`
+
 ### Other Projects/Documentation
 
 [Geometry Survival Guide](https://www.gaia-gis.it/spatialite-3.0.0-BETA/GeoNotations.pdf)
diff --git a/geojson.cabal b/geojson.cabal
--- a/geojson.cabal
+++ b/geojson.cabal
@@ -1,5 +1,5 @@
 name:                   geojson
-version:                4.0.3
+version:                4.0.4
 license:                BSD3
 license-file:           LICENCE
 author:                 Dom De Re
@@ -27,12 +27,12 @@
 source-repository       this
     type:               git
     location:           https://github.com/zellige/hs-geojson.git
-    tag:                4.0.3
+    tag:                4.0.4
 
 library
     hs-source-dirs:     src
     build-depends:      base            >= 4.9 && < 5
-                    ,   aeson           >=0.8 && <1.6
+                    ,   aeson           >= 0.8 && <1.6
                     ,   containers      >= 0.5.10.1
                     ,   deepseq         >= 1.4
                     ,   lens            >= 4.11
@@ -66,8 +66,8 @@
     hs-source-dirs:     test
     main-is:            Main.hs
     type:               exitcode-stdio-1.0
-    build-depends:      base < 5 &&     >= 4.9 && < 5
-                    ,   aeson <1.6 &&   >= 0.8 && < 1.6
+    build-depends:      base            >= 4.9 && < 5
+                    ,   aeson           >= 0.8 && < 1.6
                     ,   bytestring      >= 0.10
                     ,   containers      >= 0.5.10.1
                     ,   geojson
@@ -93,7 +93,7 @@
     hs-source-dirs:     hlint
     main-is:            Main.hs
     type:               exitcode-stdio-1.0
-    build-depends:      base < 5 &&     >= 4.9
+    build-depends:      base            >= 4.9 && < 5
                     ,   hlint
     default-language:   Haskell2010
     ghc-options:        -Wall
diff --git a/src/Data/Geospatial/Internal/CRS.hs b/src/Data/Geospatial/Internal/CRS.hs
--- a/src/Data/Geospatial/Internal/CRS.hs
+++ b/src/Data/Geospatial/Internal/CRS.hs
@@ -25,7 +25,6 @@
 
 import           Data.Geospatial.Internal.BasicTypes
 
-import           Control.Applicative                 ((<$>), (<*>))
 import           Control.Lens                        (makePrisms)
 import           Control.Monad                       (mzero)
 import           Data.Aeson                          (FromJSON (..), Object,
diff --git a/src/Data/Geospatial/Internal/Geometry.hs b/src/Data/Geospatial/Internal/Geometry.hs
--- a/src/Data/Geospatial/Internal/Geometry.hs
+++ b/src/Data/Geospatial/Internal/Geometry.hs
@@ -46,7 +46,6 @@
 import           Data.Geospatial.Internal.Geometry.GeoPoint
 import           Data.Geospatial.Internal.Geometry.GeoPolygon
 
-import           Control.Applicative                               ((<$>))
 import           Control.DeepSeq
 import           Control.Lens                                      (makePrisms)
 import           Control.Monad                                     (mzero)
diff --git a/src/Data/Geospatial/Internal/Geometry/Aeson.hs b/src/Data/Geospatial/Internal/Geometry/Aeson.hs
--- a/src/Data/Geospatial/Internal/Geometry/Aeson.hs
+++ b/src/Data/Geospatial/Internal/Geometry/Aeson.hs
@@ -17,12 +17,10 @@
     ,   optAttributes
     ) where
 
-import           Control.Applicative ((<$>))
 import           Control.Monad       (mzero)
 import           Data.Aeson          (FromJSON (..), Object, ToJSON (..), Value,
                                       object, (.:), (.:?), (.=))
 import           Data.Aeson.Types    (Pair, Parser)
-import           Data.Maybe          (Maybe (..))
 import           Data.Text           (Text)
 
 
diff --git a/src/Data/LineString.hs b/src/Data/LineString.hs
--- a/src/Data/LineString.hs
+++ b/src/Data/LineString.hs
@@ -32,7 +32,6 @@
 
 import           Prelude             hiding (foldr)
 
-import           Control.Applicative (Applicative (..))
 import           Control.DeepSeq
 import           Control.Lens        (( # ), (^?))
 import           Control.Monad       (mzero)
diff --git a/src/Data/LinearRing.hs b/src/Data/LinearRing.hs
--- a/src/Data/LinearRing.hs
+++ b/src/Data/LinearRing.hs
@@ -38,14 +38,12 @@
 import           Prelude
 #endif
 
-import           Control.Applicative (Applicative (..))
 import           Control.DeepSeq
 import           Control.Lens        (( # ), (^?))
 import           Control.Monad       (mzero)
 import           Data.Aeson          (FromJSON (..), ToJSON (..), Value)
 import           Data.Aeson.Types    (Parser, typeMismatch)
 import qualified Data.Foldable       as Foldable
-import           Data.Functor        ((<$>))
 import           Data.List           (intercalate)
 import           Data.List.NonEmpty  as NL (NonEmpty, toList)
 import qualified Data.Sequence       as Sequence
@@ -174,7 +172,6 @@
             else
                 Validation._Failure # pure (FirstNotEqualToLast first third)
         v -> Validation._Failure # pure (SequenceTooShort (Sequence.length v))
-        _ -> Validation._Failure # pure (SequenceTooShort 0)
 {-# INLINE fromSeq #-}
 
 -- |
