public static void IfEqual <TExpected, TActual>(
     [CanBeNull] TExpected unexpected,
     [CanBeNull] TActual actual,
     [NotNull][System.Diagnostics.CodeAnalysis.NotNull] string name
     )
 {
     Fail.RequiresArgumentName(name);
     Fail.IfEqual(unexpected, actual, Violation.WhenEqual(name, unexpected));
 }