If functions have the same name and the same prototypes then the last to be defined will be used. This also applies to methods in classes and can be used to override an inherited method.
You can also put functions inside other functions and methods. Like local variables, these cannot be seen from the outside.
The only problem is that there are less constraints than in standard basic and therefore more scope for untrapped errors, but on the other hand bringing different pieces of code together should be much easier.
Charles