/** Gratis desde cierto subtotal; por debajo, usa otra tarifa. */
public record FreeAbove(Money threshold, ShippingRate otherwise) implements ShippingRate {
    @Override
    public Money cost(Parcel parcel) {
        if (parcel.subtotal().isLessThan(threshold)) {
            return otherwise.cost(parcel);
        }
        return Money.zero();
    }
}
