well, here's another problem, the C# and CLI library is very inclusive. It includes entire system API's.
Not exactly accurate. The standard defines a subset of what is shipped with MS's .NET redistributable package. Including the entire thing and complaining about bloat is similar to trying to claim C++ is bloated because of the Win32 and MFC APIs.
The language itself would have had to be designed differently. And there would have to be a more realistic set of types describing the standard library, to free up the implementation.
I didn't follow 90% of what you're trying to argue. I think mostly because you're mixing technical terms. The *LANGUAGE* doesn't specify anything about the implementation of the compiled output. The CLI is seperate from the language. And it's designed the
way it is for a reason, and gives you benefits you don't get from system specific binaries. Nor does it require the bloat you seem to think it does. The .NET libraries are extensive, but they don't need to be. There's entire stacks that many developers
have no need for. These stacks could be distributed as seperate packages. But the breadth of functionality available is a strength, not a weakness.