Do not require type specification for constructors when the type is known.
Imagine this case:
Dictionary<string, List<int>> d = new Dictionary<string, List<int>>();
becomes:
Dictionary<string, List<int>> d = new();
Obviously, constructor arguments and object initialization would be allowed.
This might be a simple optimization given the above example, but there are longer type specifications out there.
But when applied to this:
XmlReader.Create(reader, new XmlReaderSettings{ IgnoreWhitespace = true });
it would become this:
XmlReader.Create(reader, new{ IgnoreWhitespace = true });
which is a lot more readable. In cases like this, the type is not really important, its properties are.