Congrats on M10!
One thing I did not understand from your blog post (though I am certain there is a good reason) is why reified generic types have to be marked as such, after the technique was advertised as being low cost/free because it only works for inlined functions. This seems like a rather exotic and complicated annotation to understand - “reified” is not even a word that most programmers have ever encountered. Can the compiler not just DWIM here?