There are several reasons. Probably the biggest one is that one has to convince a compiler team to include it. That is a very high hurdle. The good thing about doing a library-based solution is that it can be applied to any .NET language regardless of
whether the source language compiler supports it. That gets it out there for people to use and helps us make the case that it is useful.