diff --git a/ordinal.cabal b/ordinal.cabal
--- a/ordinal.cabal
+++ b/ordinal.cabal
@@ -1,5 +1,5 @@
 name:                ordinal
-version:             0.4.0.4
+version:             0.4.0.5
 synopsis:            Convert numbers to words in different languages.
 description:
     A package based on Python's num2words package that converts numbers
diff --git a/src/Text/Numerals/Class.hs b/src/Text/Numerals/Class.hs
--- a/src/Text/Numerals/Class.hs
+++ b/src/Text/Numerals/Class.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE DeriveFunctor, DeriveFoldable, RankNTypes, Safe #-}
+{-# LANGUAGE CPP, DeriveFunctor, DeriveFoldable, RankNTypes, Safe #-}
 
 {-|
 Module      : Text.Numerals.Class
@@ -35,6 +35,9 @@
   ) where
 
 import Data.Default(Default(def))
+#if __GLASGOW_HASKELL__ < 803
+import Data.Semigroup((<>))
+#endif
 import Data.Text(Text)
 import Data.Time.Clock(getCurrentTime, utctDayTime)
 import Data.Time.LocalTime(TimeOfDay(TimeOfDay), TimeZone, timeToTimeOfDay, utcToLocalTimeOfDay)
