private static int CompareToThrow <TThis>(object other) where TThis : IComparable <TThis>, IComparable { ExceptionUtil.ThrowArgumentException($"Invalid type (expected: {typeof(TThis).FullName}, actual: {other.GetType().FullName})", "other"); return(-1); }