diff --git a/servant-jsonrpc-server.cabal b/servant-jsonrpc-server.cabal
--- a/servant-jsonrpc-server.cabal
+++ b/servant-jsonrpc-server.cabal
@@ -1,7 +1,7 @@
 cabal-version:       2.4
 
 name:                servant-jsonrpc-server
-version:             2.1.1
+version:             2.1.2
 author:              Ian Shipman <ics@gambolingpangolin.com>
 maintainer:          Ian Shipman <ics@gambolingpangolin.com>
 
@@ -30,7 +30,7 @@
     Servant.Server.JsonRpc
 
   build-depends:
-      aeson                 >= 1.3          && < 2.1
+      aeson                 >= 1.3          && < 2.2
     , base                  >= 4.11         && < 5.0
     , containers            >= 0.5          && < 0.7
     , servant               >= 0.14         && < 0.20
diff --git a/src/Servant/Server/JsonRpc.hs b/src/Servant/Server/JsonRpc.hs
--- a/src/Servant/Server/JsonRpc.hs
+++ b/src/Servant/Server/JsonRpc.hs
@@ -43,6 +43,7 @@
 import           Data.Aeson               (FromJSON (..), ToJSON (..), Value)
 import           Data.Aeson.Types         (parseEither)
 import           Data.Bifunctor           (bimap)
+import           Data.Kind                (Type)
 import           Data.Map.Strict          (Map)
 import qualified Data.Map.Strict          as Map
 import           Data.Proxy               (Proxy (..))
@@ -99,7 +100,7 @@
 
 -- | This internal class is how we accumulate a map of handlers for dispatch
 class RouteJsonRpc a where
-    type RpcHandler a (m :: * -> *)
+    type RpcHandler a (m :: Type -> Type)
     jsonRpcRouter
         :: Monad m => Proxy a -> Proxy m -> RpcHandler a m
         -> Map String (Value -> m (PossibleContent (Either (JsonRpcErr Value) Value)))
