C# 10.0's support for CallerArgumentExpression and some new helpers in .NET 6.0 make throwing argument exceptions more succinct and less error prone.