Off the top of my head, I came up with the following problems:
- Some errors that would occur at script start-up now occurs when the function is called instead.
- The prototypes of functions in the module will get ignored.
- CHECK blocks in the module won't get executed and will issue a warning.
- INIT blocks in the module won't get executed and will issue a warning.
- Packagers such are PAR might not notice the module. (I'm not sure how they work.)