diff --git a/morpheus-graphql-client.cabal b/morpheus-graphql-client.cabal
--- a/morpheus-graphql-client.cabal
+++ b/morpheus-graphql-client.cabal
@@ -1,11 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.36.0.
+-- This file has been generated from package.yaml by hpack version 0.38.1.
 --
 -- see: https://github.com/sol/hpack
 
 name:           morpheus-graphql-client
-version:        0.28.1
+version:        0.28.2
 synopsis:       Morpheus GraphQL Client
 description:    Build GraphQL APIs with your favorite functional language!
 category:       web, graphql, client
@@ -89,8 +89,8 @@
   build-depends:
       aeson >=1.4.4 && <3.0.0
     , base >=4.7.0 && <5.0.0
-    , bytestring >=0.10.4 && <0.15.0
-    , containers >=0.4.2.1 && <=0.7
+    , bytestring >=0.10.4 && <1.0.0
+    , containers >=0.4.2.1 && <1.0.0
     , file-embed >=0.0.10 && <1.0.0
     , modern-uri >=0.1.0.0 && <1.0.0
     , morpheus-graphql-code-gen-utils >=0.28.0 && <0.29.0
@@ -102,9 +102,9 @@
     , req >=3.0.0 && <4.0.0
     , template-haskell >=2.0.0 && <3.0.0
     , text >=1.2.3 && <3.0.0
-    , transformers >=0.3.0 && <0.7.0
-    , unliftio-core >=0.0.1 && <0.4.0
-    , unordered-containers >=0.2.8 && <0.3.0
+    , transformers >=0.3.0 && <1.0.0
+    , unliftio-core >=0.0.1 && <1.0.0
+    , unordered-containers >=0.2.8 && <1.0.0
     , websockets >=0.12.6.0 && <1.0.0
     , wuss >=1.0.0 && <3.0.0
   default-language: Haskell2010
@@ -130,8 +130,8 @@
   build-depends:
       aeson >=1.4.4 && <3.0.0
     , base >=4.7.0 && <5.0.0
-    , bytestring >=0.10.4 && <0.15.0
-    , containers >=0.4.2.1 && <=0.7
+    , bytestring >=0.10.4 && <1.0.0
+    , containers >=0.4.2.1 && <1.0.0
     , directory >=1.0.0 && <2.0.0
     , file-embed >=0.0.10 && <1.0.0
     , modern-uri >=0.1.0.0 && <1.0.0
@@ -143,13 +143,13 @@
     , prettyprinter >=1.7.0 && <2.0.0
     , relude >=0.3.0 && <2.0.0
     , req >=3.0.0 && <4.0.0
-    , tasty >=0.1.0 && <=1.5
+    , tasty >=0.1.0 && <2.0.0
     , tasty-hunit >=0.1.0 && <1.0.0
     , template-haskell >=2.0.0 && <3.0.0
     , text >=1.2.3 && <3.0.0
-    , transformers >=0.3.0 && <0.7.0
-    , unliftio-core >=0.0.1 && <0.4.0
-    , unordered-containers >=0.2.8 && <0.3.0
+    , transformers >=0.3.0 && <1.0.0
+    , unliftio-core >=0.0.1 && <1.0.0
+    , unordered-containers >=0.2.8 && <1.0.0
     , websockets >=0.12.6.0 && <1.0.0
     , wuss >=1.0.0 && <3.0.0
   default-language: Haskell2010
diff --git a/src/Data/Morpheus/Client/CodeGen/AST.hs b/src/Data/Morpheus/Client/CodeGen/AST.hs
--- a/src/Data/Morpheus/Client/CodeGen/AST.hs
+++ b/src/Data/Morpheus/Client/CodeGen/AST.hs
@@ -115,10 +115,10 @@
       mapP (UString v) = prettyLit v
       mapP (UVar v) = pretty v
 
-list :: Foldable t => t (Doc ann) -> Doc ann
+list :: (Foldable t) => t (Doc ann) -> Doc ann
 list xs = "[" <> indent 1 (foldr1 (\a b -> a <> "," <> line <> b) xs) <> line <> "]"
 
-tuple :: Foldable t => t (Doc ann) -> Doc ann
+tuple :: (Foldable t) => t (Doc ann) -> Doc ann
 tuple ls = "(" <> foldr1 (\a b -> a <> "," <+> b) ls <> ")"
 
 instance PrintExp ClientMethod where
@@ -162,7 +162,7 @@
 printFieldDoc :: AesonField -> Doc n
 printFieldDoc (v, o, l) = printTHName v <+> printTHName o <+> prettyLit l
 
-prettyLit :: Show a => a -> Doc ann
+prettyLit :: (Show a) => a -> Doc ann
 prettyLit a = pretty (show a)
 
 prettyName :: TypeName -> Doc ann
diff --git a/src/Data/Morpheus/Client/CodeGen/Interpreting/Local.hs b/src/Data/Morpheus/Client/CodeGen/Interpreting/Local.hs
--- a/src/Data/Morpheus/Client/CodeGen/Interpreting/Local.hs
+++ b/src/Data/Morpheus/Client/CodeGen/Interpreting/Local.hs
@@ -166,11 +166,11 @@
 checkTypename pos path iFace UnionTag {..}
   | any (member "__typename") (unionTagSelection : toList iFace) = pure ()
   | otherwise =
-      warning $
-        withPath
+      warning
+        $ withPath
           ("missing \"__typename\" for selection " <> msg unionTagName <> ". this can lead to undesired behavior at runtime!")
           (map (PropName . unpackName) path)
-          `at` pos
+        `at` pos
 
 type Variant = (CodeGenTypeName, Maybe TypeName)
 
diff --git a/src/Data/Morpheus/Client/CodeGen/Interpreting/PreDeclarations.hs b/src/Data/Morpheus/Client/CodeGen/Interpreting/PreDeclarations.hs
--- a/src/Data/Morpheus/Client/CodeGen/Interpreting/PreDeclarations.hs
+++ b/src/Data/Morpheus/Client/CodeGen/Interpreting/PreDeclarations.hs
@@ -56,7 +56,7 @@
 import Language.Haskell.TH.Syntax (Name)
 import Relude hiding (ToString, Type, toString)
 
-mapPreDeclarations :: MonadFail m => ClientPreDeclaration -> m ClientDeclaration
+mapPreDeclarations :: (MonadFail m) => ClientPreDeclaration -> m ClientDeclaration
 mapPreDeclarations (FromJSONClass mode dec) = InstanceDeclaration mode <$> deriveFromJSON mode dec
 mapPreDeclarations (FromJSONObjectClass cType CodeGenConstructor {..}) =
   pure $ InstanceDeclaration TYPE_MODE $ mkFromJSON cType $ FromJSONObjectMethod (getFullName constructorName) (map defField constructorFields)
@@ -84,13 +84,13 @@
       ]
 
 -- FromJSON
-deriveFromJSONMethod :: MonadFail m => DERIVING_MODE -> CodeGenType -> m ClientMethod
+deriveFromJSONMethod :: (MonadFail m) => DERIVING_MODE -> CodeGenType -> m ClientMethod
 deriveFromJSONMethod SCALAR_MODE _ = pure $ FunctionNameMethod 'scalarFromJSON
 deriveFromJSONMethod ENUM_MODE CodeGenType {..} =
-  pure $
-    MatchMethod $
-      map (fromJSONEnum . constructorName) cgConstructors
-        <> [MFunction "v" 'invalidConstructorError]
+  pure
+    $ MatchMethod
+    $ map (fromJSONEnum . constructorName) cgConstructors
+    <> [MFunction "v" 'invalidConstructorError]
 deriveFromJSONMethod _ CodeGenType {..} = emptyTypeError cgTypeName
 
 defField :: CodeGenField -> AesonField
@@ -101,7 +101,7 @@
   | nullable = '(.:?)
   | otherwise = '(.:)
 
-deriveToJSONMethod :: MonadFail m => DERIVING_MODE -> CodeGenType -> m (MethodArgument, ClientMethod)
+deriveToJSONMethod :: (MonadFail m) => DERIVING_MODE -> CodeGenType -> m (MethodArgument, ClientMethod)
 deriveToJSONMethod SCALAR_MODE _ = pure (NoArgument, FunctionNameMethod 'scalarToJSON)
 deriveToJSONMethod _ CodeGenType {cgConstructors = [], ..} = emptyTypeError cgTypeName
 deriveToJSONMethod ENUM_MODE CodeGenType {cgConstructors} =
@@ -129,7 +129,7 @@
 fromJSONEnum :: CodeGenTypeName -> MValue
 fromJSONEnum name = MFrom (typename name) (getFullName name)
 
-deriveToJSON :: MonadFail m => DERIVING_MODE -> CodeGenType -> m (TypeClassInstance ClientMethod)
+deriveToJSON :: (MonadFail m) => DERIVING_MODE -> CodeGenType -> m (TypeClassInstance ClientMethod)
 deriveToJSON mode cType = do
   (args, expr) <- deriveToJSONMethod mode cType
   pure
@@ -151,8 +151,8 @@
       typeClassMethods = [('parseJSON, NoArgument, expr)]
     }
 
-deriveFromJSON :: MonadFail m => DERIVING_MODE -> CodeGenType -> m (TypeClassInstance ClientMethod)
+deriveFromJSON :: (MonadFail m) => DERIVING_MODE -> CodeGenType -> m (TypeClassInstance ClientMethod)
 deriveFromJSON mode cType = mkFromJSON (cgTypeName cType) <$> deriveFromJSONMethod mode cType
 
-emptyTypeError :: MonadFail m => CodeGenTypeName -> m a
+emptyTypeError :: (MonadFail m) => CodeGenTypeName -> m a
 emptyTypeError name = fail $ show $ internal ("Type " <> msg (getFullName name) <> " Should Have at least one Constructor")
diff --git a/src/Data/Morpheus/Client/CodeGen/QuasiQuoter.hs b/src/Data/Morpheus/Client/CodeGen/QuasiQuoter.hs
--- a/src/Data/Morpheus/Client/CodeGen/QuasiQuoter.hs
+++ b/src/Data/Morpheus/Client/CodeGen/QuasiQuoter.hs
@@ -17,9 +17,9 @@
 
 notSupported :: Text -> a
 notSupported things =
-  error $
-    things
-      <> " are not supported by the GraphQL QuasiQuoter"
+  error
+    $ things
+    <> " are not supported by the GraphQL QuasiQuoter"
 
 -- | QuasiQuoter to insert multiple lines of text in Haskell
 raw :: QuasiQuoter
diff --git a/src/Data/Morpheus/Client/Fetch.hs b/src/Data/Morpheus/Client/Fetch.hs
--- a/src/Data/Morpheus/Client/Fetch.hs
+++ b/src/Data/Morpheus/Client/Fetch.hs
@@ -28,12 +28,12 @@
   )
 import Relude hiding (ByteString)
 
-decodeResponse :: FromJSON a => ByteString -> Either (FetchError a) a
+decodeResponse :: (FromJSON a) => ByteString -> Either (FetchError a) a
 decodeResponse = (first FetchErrorParseFailure . eitherDecode) >=> processResponse
 
 class (RequestType a, ToJSON (Args a), FromJSON a) => Fetch a where
   type Args a :: Type
-  fetch :: Monad m => (ByteString -> m ByteString) -> Args a -> m (Either (FetchError a) a)
+  fetch :: (Monad m) => (ByteString -> m ByteString) -> Args a -> m (Either (FetchError a) a)
 
 instance (RequestType a, ToJSON (Args a), FromJSON a) => Fetch a where
   type Args a = RequestArgs a
diff --git a/src/Data/Morpheus/Client/Fetch/RequestType.hs b/src/Data/Morpheus/Client/Fetch/RequestType.hs
--- a/src/Data/Morpheus/Client/Fetch/RequestType.hs
+++ b/src/Data/Morpheus/Client/Fetch/RequestType.hs
@@ -61,7 +61,7 @@
       }
   )
 
-decodeResponse :: FromJSON a => ByteString -> Either (FetchError a) a
+decodeResponse :: (FromJSON a) => ByteString -> Either (FetchError a) a
 decodeResponse = (first FetchErrorParseFailure . eitherDecode) >=> processResponse
 
 processResponse :: JSONResponse a -> Either (FetchError a) a
@@ -79,5 +79,5 @@
 
 newtype Request (a :: Type) = Request {requestArgs :: RequestArgs a}
 
-isSubscription :: RequestType a => Request a -> Bool
+isSubscription :: (RequestType a) => Request a -> Bool
 isSubscription x = __type x == OPERATION_SUBSCRIPTION
diff --git a/src/Data/Morpheus/Client/Fetch/ResponseStream.hs b/src/Data/Morpheus/Client/Fetch/ResponseStream.hs
--- a/src/Data/Morpheus/Client/Fetch/ResponseStream.hs
+++ b/src/Data/Morpheus/Client/Fetch/ResponseStream.hs
@@ -39,7 +39,7 @@
 import Relude hiding (ByteString)
 import Text.URI (URI, mkURI)
 
-parseURI :: MonadFail m => String -> m URI
+parseURI :: (MonadFail m) => String -> m URI
 parseURI url = maybe (fail ("Invalid Endpoint: " <> show url <> "!")) pure (mkURI (T.pack url))
 
 requestSingle :: ResponseStream a -> IO (Either (FetchError a) a)
@@ -68,7 +68,8 @@
       endSession conn sid
 
 -- PUBLIC API
-data ResponseStream a = ClientTypeConstraint a =>
+data ResponseStream a
+  = (ClientTypeConstraint a) =>
   ResponseStream
   { _req :: Request a,
     _uri :: URI,
@@ -83,7 +84,7 @@
   pure ResponseStream {_req, _uri, _headers = clientHeaders}
 
 -- | returns first response from the server
-single :: MonadIO m => ResponseStream a -> m (GQLClientResult a)
+single :: (MonadIO m) => ResponseStream a -> m (GQLClientResult a)
 single = liftIO . requestSingle
 
 -- | returns loop listening subscription events forever. if you want to run it in background use `forkIO`
diff --git a/src/Data/Morpheus/Client/Fetch/WebSockets.hs b/src/Data/Morpheus/Client/Fetch/WebSockets.hs
--- a/src/Data/Morpheus/Client/Fetch/WebSockets.hs
+++ b/src/Data/Morpheus/Client/Fetch/WebSockets.hs
@@ -60,12 +60,12 @@
   }
   deriving (Show)
 
-parseProtocol :: MonadFail m => Text -> m Bool
+parseProtocol :: (MonadFail m) => Text -> m Bool
 parseProtocol "ws" = pure False
 parseProtocol "wss" = pure True
 parseProtocol p = fail $ "unsupported protocol" <> show p
 
-getWebsocketURI :: MonadFail m => URI -> Headers -> m WebSocketSettings
+getWebsocketURI :: (MonadFail m) => URI -> Headers -> m WebSocketSettings
 getWebsocketURI URI {uriScheme = Just scheme, uriAuthority = Right Authority {authHost, authPort}, uriPath} headers = do
   isSecure <- parseProtocol $ unRText scheme
   pure
@@ -78,7 +78,7 @@
       }
 getWebsocketURI uri _ = fail ("Invalid Endpoint: " <> show uri <> "!")
 
-toHeader :: IsString a => (Text, Text) -> (a, BS.ByteString)
+toHeader :: (IsString a) => (Text, Text) -> (a, BS.ByteString)
 toHeader (x, y) = (fromString $ T.unpack x, BS.pack $ T.unpack y)
 
 _useWS :: WebSocketSettings -> (Connection -> IO a) -> IO a
@@ -98,7 +98,7 @@
 processMessage ApolloSubscription {apolloPayload = Just payload} = processResponse payload
 processMessage ApolloSubscription {} = Left (FetchErrorParseFailure "empty message")
 
-decodeMessage :: A.FromJSON a => ByteString -> GQLClientResult a
+decodeMessage :: (A.FromJSON a) => ByteString -> GQLClientResult a
 decodeMessage = (first FetchErrorParseFailure . A.eitherDecode) >=> processMessage
 
 initialMessage :: ApolloSubscription ()
@@ -116,10 +116,10 @@
 endMessage :: Text -> ApolloSubscription ()
 endMessage uid = ApolloSubscription {apolloType = GqlComplete, apolloPayload = Nothing, apolloId = Just uid}
 
-endSession :: MonadIO m => Connection -> Text -> m ()
+endSession :: (MonadIO m) => Connection -> Text -> m ()
 endSession conn uid = liftIO $ sendTextData conn $ A.encode $ endMessage uid
 
-receiveResponse :: MonadIO m => A.FromJSON a => Connection -> m (GQLClientResult a)
+receiveResponse :: (MonadIO m) => (A.FromJSON a) => Connection -> m (GQLClientResult a)
 receiveResponse conn = liftIO $ do
   message <- receiveData conn
   pure $ decodeMessage message
@@ -133,5 +133,5 @@
 sendRequest :: (RequestType a, A.ToJSON (RequestArgs a), MonadIO m) => Connection -> Text -> Request a -> m ()
 sendRequest conn uid r = liftIO $ sendTextData conn (encodeRequestMessage uid r)
 
-sendInitialRequest :: MonadIO m => Connection -> m ()
+sendInitialRequest :: (MonadIO m) => Connection -> m ()
 sendInitialRequest conn = liftIO $ sendTextData conn (A.encode initialMessage)
diff --git a/src/Data/Morpheus/Client/Schema/JSON/Types.hs b/src/Data/Morpheus/Client/Schema/JSON/Types.hs
--- a/src/Data/Morpheus/Client/Schema/JSON/Types.hs
+++ b/src/Data/Morpheus/Client/Schema/JSON/Types.hs
@@ -91,7 +91,7 @@
     where
       objectParser o = EnumValue <$> o .: "name"
 
-instance FromJSON a => FromJSON (JSONResponse a) where
+instance (FromJSON a) => FromJSON (JSONResponse a) where
   parseJSON = withObject "JSONResponse" objectParser
     where
       objectParser o =
diff --git a/test/Case/Github/Test.hs b/test/Case/Github/Test.hs
--- a/test/Case/Github/Test.hs
+++ b/test/Case/Github/Test.hs
@@ -73,16 +73,16 @@
                                 },
                             edges =
                               Just
-                                [ Just $
-                                    GetTagsRepositoryRefsEdges
+                                [ Just
+                                    $ GetTagsRepositoryRefsEdges
                                       { cursor = "test cursor",
                                         node =
                                           Just
                                             GetTagsRepositoryRefsEdgesNode
                                               { name = "test name",
                                                 target =
-                                                  Just $
-                                                    GetTagsRepositoryRefsEdgesNodeTargetVariantGitObject
+                                                  Just
+                                                    $ GetTagsRepositoryRefsEdgesNodeTargetVariantGitObject
                                                       GetTagsRepositoryRefsEdgesNodeTargetGitObject
                                                         { __typename = "GitObject"
                                                         }
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -25,8 +25,8 @@
 
 main :: IO ()
 main =
-  defaultMain $
-    testGroup
+  defaultMain
+    $ testGroup
       "Client tests"
       [ Interface.test,
         LowercaseTypeName.test,
