Here is another challenge, smaller, this time, which can lead you the right path. And yes, it is a screwy one.
All you have to do is make the following assertion fail.
public class Program
private static void Main(string args)
public static void CanThisHappen<T>() where T : class, new()
var instnace = new T();
Debug.Assert(instnace != null,"How did we break the CLR?");
The rules are simple, you are not allowed to do anything outside the current process. That means that profiling API, post compilation assembly rewrite, etc are forbidden. Anything else is a fair game.
I will let you know that I can make the assertion fail in 4 lines of code :-)