diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+# Version 1.2.1
+
+* Make it work for ghc-8.4. See [#3](https://github.com/psibi/fb/issues/3)
+
 # Version 1.2.0
 
 * Rewrote fb for conduit-1.3.0
diff --git a/fb.cabal b/fb.cabal
--- a/fb.cabal
+++ b/fb.cabal
@@ -1,11 +1,11 @@
--- This file has been generated from package.yaml by hpack version 0.20.0.
+-- This file has been generated from package.yaml by hpack version 0.21.2.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 6cdcc7bbe1b414ac426e06da9807fe668b27be226182b4a96c6e237a783d6e57
+-- hash: 1f1f3544be4d2d1dbdab5e0286e45bc861f216f4b24d04227e926c4cc51ab272
 
 name:           fb
-version:        1.2.0
+version:        1.2.1
 synopsis:       Bindings to Facebook's API.
 description:    This package exports bindings to Facebook's APIs (see
                 <http://developers.facebook.com/>).  Does not have any external
@@ -48,6 +48,25 @@
   default: False
 
 library
+  exposed-modules:
+      Facebook
+  other-modules:
+      Facebook.Auth
+      Facebook.Base
+      Facebook.FQL
+      Facebook.Graph
+      Facebook.Monad
+      Facebook.Object.Action
+      Facebook.Object.Checkin
+      Facebook.Object.FriendList
+      Facebook.Object.Order
+      Facebook.Object.Page
+      Facebook.Object.User
+      Facebook.Pager
+      Facebook.RealTime
+      Facebook.TestUsers
+      Facebook.Types
+      Paths_fb
   hs-source-dirs:
       src
   ghc-options: -Wall
@@ -80,30 +99,13 @@
     , unordered-containers
   if flag(debug)
     cpp-options: -DDEBUG
-  exposed-modules:
-      Facebook
-  other-modules:
-      Facebook.Auth
-      Facebook.Base
-      Facebook.FQL
-      Facebook.Graph
-      Facebook.Monad
-      Facebook.Object.Action
-      Facebook.Object.Checkin
-      Facebook.Object.FriendList
-      Facebook.Object.Order
-      Facebook.Object.Page
-      Facebook.Object.User
-      Facebook.Pager
-      Facebook.RealTime
-      Facebook.TestUsers
-      Facebook.Types
-      Paths_fb
   default-language: Haskell2010
 
 test-suite runtests
   type: exitcode-stdio-1.0
   main-is: Main.hs
+  other-modules:
+      Paths_fb
   hs-source-dirs:
       tests
   ghc-options: -Wall -fno-warn-orphans
@@ -117,13 +119,11 @@
     , containers
     , data-default
     , fb
-    , hspec
+    , hspec >=2.5.0
     , http-conduit
     , resourcet
     , text
     , time
     , transformers
     , unliftio
-  other-modules:
-      Paths_fb
   default-language: Haskell2010
diff --git a/src/Facebook/Types.hs b/src/Facebook/Types.hs
--- a/src/Facebook/Types.hs
+++ b/src/Facebook/Types.hs
@@ -29,7 +29,9 @@
 import Control.Monad (mzero)
 import Data.ByteString (ByteString)
 import Data.Int (Int64)
+#if !(MIN_VERSION_base(4,11,0))
 import Data.Monoid (Monoid, mappend)
+#endif
 import Data.String (IsString)
 import Data.Text (Text)
 import Data.Time (UTCTime)
@@ -153,10 +155,12 @@
 type Argument = (ByteString, ByteString)
 
 -- | Synonym for 'mappend'.
+#if !(MIN_VERSION_base(4,11,0))
 (<>)
   :: Monoid a
   => a -> a -> a
 (<>) = mappend
+#endif
 
 ----------------------------------------------------------------------
 -- | /Since 0.14.9./ Not a Facebook JSON format, but a custom @fb@
diff --git a/tests/Main.hs b/tests/Main.hs
--- a/tests/Main.hs
+++ b/tests/Main.hs
@@ -41,7 +41,6 @@
 
 import Test.HUnit ((@?=))
 import Test.Hspec
-import Test.Hspec.HUnit ()
 import Test.Hspec.QuickCheck
 
 -- | Grab the Facebook credentials from the environment.
