In pure functional programming, which is most of what I do, there are zillions of "small modules" and everything seems to work just fine...
By contrast, the Google Closure compiler's module system (also for JavaScript) does not suffer from this problem, but in tradeoff, disallows many types of runtime metaprogramming, such as merging modules with Object.assign or similar.