 +    return "ReplaceThisName";
 +}
 +
-+static void extract_monsterdata_to_haskell(
++static void extract_monsterdata_to_yaml(
 +        FILE* f
 +      , const char* variant
 +      , const char* command_prefix )

+            if (i2 > 0)
+                fprintf(f, ", ");
+
+            fprintf(f, "Attack ");
+#define AT(a, b) else if (pm->mattk[i2].aatyp == a) fprintf(f, "%s ", b);
+            if (1 + 1 == 3) { } /* I hope we won't run this code 
+                                   in a universe where 1+1 is 3. */
+            AT(AT_NONE, "AtNone")

+                    "I don't know what attack type %d is.\n", pm->mattk[i2].aatyp);
+                   abort(); }
+#undef AT
+#define AT(a, b) else if (pm->mattk[i2].adtyp == a) fprintf(f, ", %s", b);
+            if (1 == 2) { }
+            AT(AD_PHYS, "AdPhys")
+            AT(AD_MAGM, "AdMagicMissile")
