C# Compiler fuckup

The following code compiles fine but throws an Exception at runtime.
Microsoft is aware of this issue but decided not to fix it as its basically a correct implementation of the compiler. It just messes up in this exact situation:

uint[] myArr = new uint[] { 1, 2, 3, 4 };
List<uint> myLst = new List<uint>() { 1, 2, 3, 4 };

int[] lol = (int[])myArr;
lol[0].GetType();

Console.WriteLine(myArr.Cast<int>().Count());
Console.WriteLine(myLst.Cast<int>().Count());

Have some fun with uint's in a int array :)