Index: b/werewolf.cabal
===================================================================
--- a/werewolf.cabal
+++ b/werewolf.cabal
@@ -349,13 +349,13 @@ executable werewolf
         QuasiQuotes,
         Rank2Types
     build-depends:
-        aeson >= 0.8 && < 0.12,
+        aeson >= 0.8 && < 1.2,
         base >= 4.8 && < 5,
         containers == 0.5.*,
         directory > 1.2,
         extra >= 1.4 && < 1.6,
         filepath == 1.4.*,
-        lens >= 4.12 && < 4.15,
+        lens >= 4.12 && < 4.16,
         MonadRandom >= 0.4 && < 0.6,
         mtl == 2.2.*,
         optparse-applicative >= 0.11 && < 0.14,
@@ -387,12 +387,12 @@ library
         Rank2Types,
         TemplateHaskell
     build-depends:
-        aeson >= 0.8 && < 0.12,
+        aeson >= 0.8 && < 1.2,
         base >= 4.8 && < 5,
         containers == 0.5.*,
         extra >= 1.4 && < 1.6,
         interpolate == 0.1.*,
-        lens >= 4.12 && < 4.15,
+        lens >= 4.12 && < 4.16,
         mtl == 2.2.*,
         template-haskell >= 2.10 && < 2.12,
         text == 1.2.*,
Index: b/src/Game/Werewolf/Game.hs
===================================================================
--- a/src/Game/Werewolf/Game.hs
+++ b/src/Game/Werewolf/Game.hs
@@ -131,7 +131,7 @@ makeLenses ''Game
 makePrisms ''Stage
 
 #if __GLASGOW_HASKELL__ >= 800
-activity :: Contravariant f => (Activity -> f Activity) -> Stage -> f Stage
+activity :: (Functor f, Contravariant f) => (Activity -> f Activity) -> Stage -> f Stage
 #else
 activity :: Getter Stage Activity
 #endif
