diff --git a/mu-grpc-client.cabal b/mu-grpc-client.cabal
--- a/mu-grpc-client.cabal
+++ b/mu-grpc-client.cabal
@@ -1,5 +1,5 @@
 name:               mu-grpc-client
-version:            0.4.0.0
+version:            0.4.0.1
 synopsis:           gRPC clients from Mu definitions
 description:
   With @mu-grpc-client@ you can easily build gRPC clients for mu-haskell!
@@ -43,14 +43,14 @@
     , mu-protobuf        ==0.4.*
     , mu-rpc             ==0.4.*
     , mu-schema          ==0.3.*
-    , optics-core        >=0.2   && <0.3
+    , optics-core        >=0.2   && <0.4
     , sop-core           >=0.5   && <0.6
     , stm                >=2.5   && <3
     , stm-chans          >=3     && <4
     , stm-conduit        >=4     && <5
-    , template-haskell   >=2.14  && <2.16
+    , template-haskell   >=2.14  && <2.17
     , text               >=1.2   && <2
-    , th-abstraction     >=0.3.2 && <0.4
+    , th-abstraction     >=0.3.2 && <0.5
     , tracing            >=0.0.5
 
   hs-source-dirs:   src
diff --git a/src/Mu/GRpc/Client/Record.hs b/src/Mu/GRpc/Client/Record.hs
--- a/src/Mu/GRpc/Client/Record.hs
+++ b/src/Mu/GRpc/Client/Record.hs
@@ -114,10 +114,9 @@
                   [pure (DerivClause Nothing [ConT ''Generic])]
        let buildName = mkName ("build" ++ complete)
        s <- SigD buildName <$> [t|GrpcClient -> $(pure (ConT (mkName complete)))|]
-       c <- Clause <$> pure []
-                   <*> (NormalB <$> [e|buildService @($(pure $ ConT serviceTyName))
-                                                    @($(pure $ LitT (StrTyLit fieldsPrefix)))|])
-                   <*> pure []
+       c <- Clause [] <$> (NormalB <$> [e|buildService @ $(conT serviceTyName)
+                                                       @ $(litT (strTyLit fieldsPrefix))|])
+                      <*> pure []
        pure [d, s, FunD buildName [c]]
 
 methodToDecl :: String -> Namer
