Hello, hi_octane, you wrote: S>> Dynamic dispatch in any form - delegates, interfaces, DLR etc. Ton of restrictions of type of the prohibition on ref return together with async-methods. Implicit cast from ref T in ref readonly T and . S>> if strongly it would be desirable - will be ref-like structs. With all restrictions ref T, . _> It is all it is possible to support, but alas then it is necessary to have 3 methods of record - three as now with T x/ref T x/readonly ref T x, fourth mine - readonly T x with the compiler capable 3 remained. Thanks convinced, it was ceased to want really I surrender, and I slip under desktop from laughter representing as to it will learn the future programmers in the alternative Universe with "ref C#" All easier. For those structures which really demand transmission on ref, there will be a modifier ref struct and mandatory in T in parameters of methods. ref T are compatible with readonly ref T, i.e. more it is required nothing. _> On the one hand all new possibilities C# concerning structures are pleasant to me - often I work with the code from which it is necessary to squeeze out speed, and it is better when variants are, than when they are not present. You confuse/mix optimization possibility from outside (including , , stackalloc, auto ref etc) and support from language of features which have been put in the first CLR. Now there is a systematic operation in the second direction, performance - by a residual principle. For high-grade it is necessary to break many contracts offered regular CLI - time, to pass to AOT-compilation - two. Well and to have the heavy user inside MS which pushes the budget under all finishings - three. Last is not present, so while it is had net native + rudimentary AOT in net core 2.