if (!block->alternatives.empty()) {
EffectBlueprint *blueprint = block->alternatives[block->currently_chosen_alternative];
for (const auto &key_and_tuple : blueprint->int_parameters) {
if (!block->alternatives.empty()) {
EffectBlueprint *blueprint = block->alternatives[block->currently_chosen_alternative];
for (const auto &key_and_tuple : blueprint->int_parameters) {
assert(size_t(alternative_idx) < block->alternatives.size());
block->currently_chosen_alternative = alternative_idx;
assert(size_t(alternative_idx) < block->alternatives.size());
block->currently_chosen_alternative = alternative_idx;