with shell completions it's common to have hundreds of different extension files. They register themselves internally, but still require parsing and executing the code. Even if they don't run the registered functions yet. I believe they scan those top lines to know when there is a shell completion at this point
$ mvn <tab>