diff --git a/mpact/sim/decoder/instruction_set_visitor.cc b/mpact/sim/decoder/instruction_set_visitor.cc
index 14e9bdf..e9f7f37 100644
--- a/mpact/sim/decoder/instruction_set_visitor.cc
+++ b/mpact/sim/decoder/instruction_set_visitor.cc
@@ -2234,13 +2234,14 @@
                   "using ResourceSetter = void(*)(Instruction *, ",
                   encoding_base_name,
                   "*, SlotEnum, int);\n"
+                  "using SemFuncSetter = std::vector<SemFunc>;\n"
                   "using AttributeSetter = void(*)(Instruction *);\n"
                   "struct InstructionInfo {\n"
                   "  OperandSetter operand_setter;\n"
                   "  DisassemblySetter disassembly_setter;\n"
                   "  ResourceSetter resource_setter;\n"
                   "  AttributeSetter attribute_setter;\n"
-                  "  std::vector<SemFunc> semfunc;\n"
+                  "  SemFuncSetter semfunc;\n"
                   "  int instruction_size;\n"
                   "};\n"
                   "\n");
@@ -2262,7 +2263,7 @@
   // Include files.
   absl::StrAppend(&output, "#include \"", hdr_file_name, "\"\n");
   absl::StrAppend(&output,
-                  "\n"
+                  "\n#include <array>\n\n"
                   "#include \"absl/strings/str_format.h\"\n\n");
 
   for (auto &include_file : include_files_) {
diff --git a/mpact/sim/decoder/slot.cc b/mpact/sim/decoder/slot.cc
index de74c0b..d8ca513 100644
--- a/mpact/sim/decoder/slot.cc
+++ b/mpact/sim/decoder/slot.cc
@@ -861,13 +861,13 @@
                       absl::StrCat(pascal_name(), "SlotSetOperandsNull"),
                       encoding_type, default_instruction_->opcode()));
   absl::StrAppend(
-      &output, "    {{OperandSetter{", pascal_name(),
+      &output, "    {OperandSetter{", pascal_name(),
       "SlotSetOperandsNull},\n"
       "    ",
       GenerateDisassemblySetter(default_instruction_), ",\n", "    ",
       GenerateResourceSetter(default_instruction_, encoding_type), ",\n",
-      "    ", GenerateAttributeSetter(default_instruction_), ",\n", "    {",
-      default_instruction_->semfunc_code_string(), "}, ",
+      "    ", GenerateAttributeSetter(default_instruction_), ",\n",
+      "    SemFuncSetter{", default_instruction_->semfunc_code_string(), "}, ",
       default_instruction_->opcode()->instruction_size(), "},\n");
   for (auto const &[unused, inst_ptr] : instruction_map_) {
     auto *instruction = inst_ptr;
@@ -910,10 +910,9 @@
                     "    ", GenerateDisassemblySetter(instruction), ",\n",
                     "    ", GenerateResourceSetter(instruction, encoding_type),
                     ",\n", "    ", GenerateAttributeSetter(instruction), ",\n",
-                    "    {", code_str, "}, ",
+                    "    SemFuncSetter{", code_str, "}, ",
                     instruction->opcode()->instruction_size(), "},\n");
   }
-  absl::StrAppend(&output, "  }");
   return output;
 }
 
@@ -957,8 +956,8 @@
       &output, class_name, "::", class_name,
       "(ArchState *arch_state) :\n"
       "  arch_state_(arch_state),\n",
-      "  instruction_info_(\n", ListFuncGetterInitializations(encoding_type),
-      ") {}\n",
+      "  instruction_info_{{\n", ListFuncGetterInitializations(encoding_type),
+      "}} {}\n",
       "\n"
       "Instruction *",
       class_name, "::Decode(uint64_t address, ", encoding_type,
