AMD is a pain to use , and make the code really ugly. It has some compatibility issues with some older (but widely deployed ) mobile browsers and doesnt really fix javascript shortcomings. You can still have global variables into a module anyway. And a lot of libraries dont even support AMD , why should they ?
It's a pain because some libs support AMD and some don't, but it's the least bad solution that I know of. If there's a better option I'm all ears.
Of course you can add a global variable in a module if you want to, but 1. why would you? and 2. If this happens by accident it should be picked up by a linter.
Which mobile browsers have issues? Would be good to know.