diff --git a/ordinal.cabal b/ordinal.cabal
--- a/ordinal.cabal
+++ b/ordinal.cabal
@@ -1,5 +1,5 @@
 name:                ordinal
-version:             0.4.0.2
+version:             0.4.0.3
 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/Internal.hs b/src/Text/Numerals/Internal.hs
--- a/src/Text/Numerals/Internal.hs
+++ b/src/Text/Numerals/Internal.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE Safe #-}
+{-# LANGUAGE CPP, Safe #-}
 
 module Text.Numerals.Internal (
     _div10, _rem10, _divisableBy, _divisable100
@@ -16,6 +16,9 @@
 import Control.Applicative(liftA2)
 
 import Data.Char(intToDigit)
+#if __GLASGOW_HASKELL__ < 803
+import Data.Semigroup((<>))
+#endif
 import Data.Text(Text, cons, dropEnd, inits, isSuffixOf, singleton, tails, pack)
 import qualified Data.Text as T
 
