Not sure about this take. Every language doesn't have to have every feature of every other language. Simplicity is in itself a feature.
C# at this point is already probably 'larger' as far as feature set goes other mainstream languages.
C# at this point is already probably 'larger' as far as feature set goes other mainstream languages.
In C# we don’t like functions with more than a few arguments. If you have 10 fields in your class, a constructor with 10 arguments is not appropriate. Instead we prefer object initialisers, but this requires exposing the ‘set’ method, and allowing mutability. This is resolved in C# 9, with init-only properties.
Why not have the ctor accept a single options object? At least if initialization is your only reason for allowing mutable props.