This is a ticket to improve some documentation about hooks in the MediaWiki API.
Many hooks for the API have a first argument called `$module`. For some hooks like [[ https://www.mediawiki.org/wiki/Manual:Hooks/APIGetParamDescription | APIGetParamDescription ]], this argument is called an "ApiBase Module object," and for others like [[ https://www.mediawiki.org/wiki/Manual:Hooks/ApiCheckCanExecute | ApiCheckCanExecute ]], it's called a "Module object." This is confusing because:
1. It's not clear what a "Module object" is. I can't find a class called "Module" in MediaWiki core.
2. When I look at [[ https://www.mediawiki.org/wiki/Category:ApiCheckCanExecute_extensions | examples of using ApiCheckCanExecute ]], `$module` is simply a string like `"upload"`, presumably a module //name//.
This is confusing. I suggest that the documentation for [[ https://www.mediawiki.org/w/index.php?search=%22Module+object%22&title=Special:Search&go=Go&searchToken=e3iulxf278koy8y6gzih6sjpy | all these functions ]] should spell out whether the `$module` argument is a string containing a module name, or an ApiBase object, or something else.
Hope this helps!