using System.Reflection.Emit;
var dynamicMethod = new DynamicMethod("SizeOf", typeof (int), Type.EmptyTypes);
var generator = dynamicMethod.GetILGenerator();
generator.Emit(OpCodes.Sizeof, type);
generator.Emit(OpCodes.Ret);
var function = (Func<int>)dynamicMethod.CreateDelegate(typeof (Func<int>));
Size(typeof (S<G<A>>)).Dump();
System.Runtime.InteropServices.Marshal.SizeOf(default (S<G<A>>)).Dump();