public override Money On(Timestamp time) => new SpecificCard(this.Currency, this.Card.CardOn(time));
public override Money On(Timestamp time) => this.CardOn(time);
public BankCard CardOn(Timestamp time) => time.CompareTo(this.ValidBefore) >= 0 ? (BankCard) new CardExpired(this.ValidBefore) : this;
public int CompareTo(Timestamp other) => - other.CompareTo(this.Value);