This does not work if you check for iOS 17, then iOS 16, ...
if #available(iOS 17.0, *) {
return WidgetBundleBuilder.buildBlock(A(), B(), C())
} else if #available(iOS 16.0, *) {
return WidgetBundleBuilder.buildBlock(A(), B())
} else {
return WidgetBundleBuilder.buildBlock(A())
}