Property of sub-module being reported as a global variable

I’ve encountered the following situation:

  • I have a Module: ModuleA
  • It has 2 Sub-Modules: ModuleB and ModuleC
  • If I create a property in ModuleB that has the same name as ModuleC then the compiler throws the error: “This global variable has the same name as a module. You must change one of them”

Now, the scope of properties in sub-modules can’t be any higher than protected, you have to access it through it’s full namespace ModuleA.ModuleB.property, so surely this should separate it from any conflict with ModuleC?

This error would seem to suggest that the property is being treated as a global variable of ModuleA despite being in ModuleB. So does this mean that all properties of sub-modules actually exist at the same level as the root parent or is there some error in Xojo here?