While I was working on T216888 I noticed that there isn't a good way to determine if a API module's parameters are valid //before// executing the module. I've added a crazy amount of logic just to deal with `apierror-revisions-singlepage` which can be seen here:
Provide a method to take in the parameter array and return the error (if there is one). Then this method can be used during execution to validate the parameters. In essence, it's an abstraction of the validation code we already have. It can also be used to expose this to the user before execution (for instance, the params could be validated in the sandbox before the user has executed the request).
Adding this method, would allow the #mediawiki-extensions-graphql to attempt to merge multiple requests, test the parameters, if they fail the validation, then we know the requests cannot be merged. This provides a quick way to check the merge-ability of requests.
Implement the logic in the #mediawiki-extensions-graphql (which is what we are doing now).
Alternatively, we could remove the request merging until this is resolved, but that is a significant performance regression.