úÎ#f"öNoneTÿlIn some cases, if two requests are waiting to be run, it may be possible to combine them into a single request and thus increase the overall bandwidth. The rate limit system supports this, but requires a little additional information to make everything work out right. You may also need to do something a bit wonky with your types to make this work ... sorry.ÿnThe basic idea is this: Given two requests, you can either return Nothing (signalling that the two requests can be combined), or a Just with a new request representing the combination of the two requests. In addition, you will need to provide a function that can turn the response to this single request into two responses, one for each of the original requests.[I hope this description helps you work through the type, which I'll admit is a bit opaque.%The rate at which to limit an action.ÿXRate limit the action to invocation once per time unit. With this option, the time it takes for the action to take place is not taken into consideration when computing the rate, only the time between invocations of the action. This may cause the action to execute concurrently, as an invocation may occur while an action is still running.ÿORate limit the action to execution once per time unit. With this option, the time it takes for the action to take plase is taken into account, and all actions will necessarily occur sequentially. However, if your action takes longer than the time unit given, then the rate of execution will be slower than the given unit of time.LRate limit the invocation of a given action. This is equivalent to calling  with a  rate limit and the  combining function.KRate limit the execution of a given action. This is equivalent to calling  with a  rate limit and the  combining function.1The most generic way to rate limit an invocation.&What is the rate limit for this actiongWhat is the action you want to rate limit, given as an a MonadIO function from requests to responses?ˆA function that can combine requests if rate limiting happens. If you cannot combine two requests into one request, we suggest using . 'rate-limit-1.2.0-HkrSi0YLq72BnVM2bpC6BdControl.RateLimitResultsCombiner RateLimit PerInvocation PerExecution dontCombinerateLimitInvocationrateLimitExecutiongenerateRateLimitedFunction