[...] your solution [...]
...was a "quick demonstration". Your solutions... oh... you don't have a solution. Just trying to prop up your claim that autoloading is the source of the problem? (:
Note also that you can have POSIX export real constants but have the autoloaded ones in POSIX:: not require predeclaration. That would mean that the only "performance hit" is for people who do "use POSIX;", who are already getting a "performance hit" for importing hundreds of symbols. But even predeclaring all several hundred POSIX constants as actually being constants takes a fraction of a 1/100th of a second on my lowly PC, so I don't see this as a big problem that needs to be avoided.