The issues with null-checks are easily avoided though: Just don’t declare values as nullable.
C# grows because they add improvements but cannot remove older ways of doing things due to backwards compatibility. If you wan’t a language without so much cruft, I recommend F#.