Hi The Haxe language has that feature, you can see how they did it here: [https://haxe.org/manual/lf-access-control.html](https://haxe.org/manual/lf-access-control.html)
you know, learn from their lessons about intended usage. In general, I think it's a mis-feature, since it can break my design. I only found it useful for unit testing, when the tester is in a different module, and you wish to test all the private functions as well. for what it's worth, C# has a related feature, which is the an access modifier called "internal", which means it's public for everything inside the dll (the same assembly) even if it contains numerous namespaces (modules). I think this is a better way, design-wise, though not as flexible as your suggestion.
