"Mar eleve ez a "osztályok és a konstansok névtere független" borzaszto"
Miért? Adott helyen csak az egyik lehet, úgyhogy nem lehet ütközés.
"a legborzasztobb, hogy egyaltalan nem syntax error-ral szall el"
Mitől lenne syntax error? Ez egy sima logikai és művelet, aminek a bal oldalán konstans áll. A környezetből egyértelmű, hogy itt osztálynév nem állhat, és metódushívásnál fel sem merül, hogy type hinting lenne.
Szerk.: Ha nem lehetne egyező konstans- és osztálynév, akkor se lehetne parser (syntax) error, mert amikor ezt a kódot értelmezi az értelmező, akkor még azt se biztos, hogy tudja, hogy ilyen néven osztály vagy konstans lesz. Ilyenkor most feltételezi, hogy konstansnév, mert más nem lehet.