public sealed class Counter { public int Value { get; private set; } public Counter(int value) { Value = value; } public void operator +=(int amount) => Value = checked(Value + amount); public static Counter operator +(Counter left, int amount) => new(checked(left.Value + amount)); }