diff --git a/Data/List/Unique.hs b/Data/List/Unique.hs
--- a/Data/List/Unique.hs
+++ b/Data/List/Unique.hs
@@ -19,6 +19,7 @@
    , repeated
    , repeatedBy
    , unique
+   , allUnique
    , count
    , count_
    , occurrences
@@ -71,6 +72,16 @@
 
 lh :: [a] -> (a, Int)
 lh = liftA2 (,) head length
+
+-- | 'allUnique' checks whether all elements of the list are unique
+--
+-- > allUnique "foo bar" == False
+-- > allUnique ['a'..'z'] == True
+-- > allUnique [] == True (!)
+-- Since 0.4.7
+
+allUnique :: Ord a => [a] -> Bool
+allUnique = all ( (==) 1 . length) . sg
 
 -- | 'count' of each element in the list, it sorts by keys (elements). Example:
 --
diff --git a/Unique.cabal b/Unique.cabal
--- a/Unique.cabal
+++ b/Unique.cabal
@@ -1,6 +1,6 @@
 name:                Unique
 
-version:             0.4.6.1
+version:             0.4.7
 
 synopsis:            It provides the functionality like unix "uniq" utility
 description:         Library provides the functions to find unique and duplicate elements in the list
@@ -21,7 +21,7 @@
                         Data.List.UniqueStrict,
                         Data.List.UniqueUnsorted
 
-  build-depends:         base >=4.0 && < 4.10
+  build-depends:         base >=4.0 && < 5
                        , extra
                        , containers
                        , hashable
diff --git a/tests/Main.hs b/tests/Main.hs
--- a/tests/Main.hs
+++ b/tests/Main.hs
@@ -2,7 +2,13 @@
 import SortUniq
 import RepeatedBy
 import Complex
+import AllUnique
 import Test.Hspec
 
 main :: IO ()
-main = mapM_ hspec [isUniqueTests, sortUniqTests, repeatedByTests, complexTests]
+main = mapM_ hspec [isUniqueTests
+                   , sortUniqTests
+                   , repeatedByTests
+                   , complexTests
+                   , allUniqueTests
+                   ]
