Making such assumptions about what is correct or proper use is why c++ is so successful, it doesnt make assumptions it leaves it up to the project / community using it.
Go ahead make a language that dictates alot and makes srict assumptions it will be depricated or forced to open up before the end of the decade.
Notr this is why i think python and lisp is so populare meta programing is very powerful and expressive.