Те же null должны поддерживаться платформой
Так для справки - null для классов это как бе Nullable<IntPtr> и ещё есть Nullable<Int32> и у него тоже есть null НО они как бе работают по разному. На самом деле я просто приближённо описал но посыл примерного пиздеца с null в C# ясен. Хотя вот это вот string? И int? Теперь ещё больший пиздец с разным null для них двоих. Это разный null да. А все веселье как с async await. Там веселье потому что нет Монад а тут веселье с null потому что не ввели Option с самого начала. Да что уж там. object, out и прочей легаси фигни накопилось по самое мама не балуй и тут ещё сверху завозят каждый год что-то новое. C# становиться все больше каким-то древним хтонический монстром.