Helper to make code using records of clients more readable.
Can be mixed with (/:) for supplying arguments.
Example:
type Api = NamedRoutes RootApi
data RootApi mode = RootApi
{ subApi :: mode :- NamedRoutes SubApi
, …
} deriving Generic
data SubApi mode = SubApi
{ endpoint :: mode :- Get '[JSON] Person
, …
} deriving Generic
api :: Proxy API
api = Proxy
rootClient :: RootApi (AsClientT ClientM)
rootClient = client api
endpointClient :: ClientM Person
endpointClient = client // subApi // endpoint