why shouldn't constant lookup check the nesting of module's name
above, B will have access to A's constants
but below, it won't
is there a reason why the nesting of the name should not be part of the constant resolution algorithm?
when adding or reopening (deeply) nested modules/classes the :: syntax would be preferable, but you lose constant resolution