This x 100. The CLR was designed for this from the ground up (or they copied the design from Java, take your pick). As you pointed out, they've had a working implementation forever in the form of the .NET Compact Framework. And yet they went with the 'strategy' they went with.... You couldn't make this shit up if you tried...