I'm still not entirely sure whether this should be regarded as a bug or a feature request.
With that said, the thread involves some points that is quite intriguing in terms of Construct 2 and Construct 3's design.
Duplicate Functions
In regards with the allowed upon duplication of functions on Construct, it seems more of a feature rather than a limitation on the editor's end. [It seems that JavaScript doesn't implement this.] Even though, multiple functions are still beneficial and more like a bonus feature.
It is more apparent on larger projects, on Construct 2. In which case, modular designs are necessary to maintain the effectiveness, efficiency and management of the structuring of each independent features on projects where in duplicate functions can be used to signal independent protocols in the designed systems.
Imagine a project with different independent branch of features. "Load", "Initialize", "Queue", "Draw" and "Transform".
These are independent from the actual program functions like a framework, only that it is generalized for the purpose of the extending the program.
The problem here is for example, how to communicate with each branches with only a single method and not make redundant method nodes.
This comes the benefit of creating a single method and re-using the same function for each branch. And if there were parameters, the benefits would make it more obvious.
This is an example where duplicate functions make it easier for development, especially on larger projects.
And a simple duplicate function is a small price for the huge benefits it can offer.
Function Scopes
In regards with the Function Scopes, that is something I would like to see on Construct. I think it may not be possible anymore on Construct 2 but it would be nice to see this on Construct 3. Like how local variables are scoped by groups, it would certainly help both in the user & project management and function loading & prediction on the editor if the Functions are scoped globally and locally too.