-#define INIT_TABLE_POS_opts___OptionParameter (SFT_opts[15] + 0)
-#define CALL_opts___OptionParameter___convert(recv) ((opts___OptionParameter___convert_t)CALL((recv), (SFT_opts[15] + 1)))
-#define CALL_opts___OptionParameter___init_opt(recv) ((opts___OptionParameter___init_opt_t)CALL((recv), (SFT_opts[15] + 2)))
-#define ID_opts___OptionString (SFT_opts[16])
-#define COLOR_opts___OptionString (SFT_opts[17])
-#define INIT_TABLE_POS_opts___OptionString (SFT_opts[18] + 0)
-#define CALL_opts___OptionString___init(recv) ((opts___OptionString___init_t)CALL((recv), (SFT_opts[18] + 1)))
-#define ID_opts___OptionEnum (SFT_opts[19])
-#define COLOR_opts___OptionEnum (SFT_opts[20])
-#define ATTR_opts___OptionEnum____values(recv) ATTR(recv, (SFT_opts[21] + 0))
-#define INIT_TABLE_POS_opts___OptionEnum (SFT_opts[22] + 0)
-#define CALL_opts___OptionEnum___init(recv) ((opts___OptionEnum___init_t)CALL((recv), (SFT_opts[22] + 1)))
-#define CALL_opts___OptionEnum___value_name(recv) ((opts___OptionEnum___value_name_t)CALL((recv), (SFT_opts[22] + 2)))
-#define ID_opts___OptionInt (SFT_opts[23])
-#define COLOR_opts___OptionInt (SFT_opts[24])
-#define INIT_TABLE_POS_opts___OptionInt (SFT_opts[25] + 0)
-#define CALL_opts___OptionInt___init(recv) ((opts___OptionInt___init_t)CALL((recv), (SFT_opts[25] + 1)))
-#define ID_opts___OptionArray (SFT_opts[26])
-#define COLOR_opts___OptionArray (SFT_opts[27])
-#define ATTR_opts___OptionArray____values(recv) ATTR(recv, (SFT_opts[28] + 0))
-#define INIT_TABLE_POS_opts___OptionArray (SFT_opts[29] + 0)
-#define CALL_opts___OptionArray___init(recv) ((opts___OptionArray___init_t)CALL((recv), (SFT_opts[29] + 1)))
-#define ID_opts___OptionContext (SFT_opts[30])
-#define COLOR_opts___OptionContext (SFT_opts[31])
-#define ATTR_opts___OptionContext____options(recv) ATTR(recv, (SFT_opts[32] + 0))
-#define ATTR_opts___OptionContext____rest(recv) ATTR(recv, (SFT_opts[32] + 1))
-#define ATTR_opts___OptionContext____optmap(recv) ATTR(recv, (SFT_opts[32] + 2))
-#define INIT_TABLE_POS_opts___OptionContext (SFT_opts[33] + 0)
-#define CALL_opts___OptionContext___options(recv) ((opts___OptionContext___options_t)CALL((recv), (SFT_opts[33] + 1)))
-#define CALL_opts___OptionContext___rest(recv) ((opts___OptionContext___rest_t)CALL((recv), (SFT_opts[33] + 2)))
-#define CALL_opts___OptionContext___usage(recv) ((opts___OptionContext___usage_t)CALL((recv), (SFT_opts[33] + 3)))
-#define CALL_opts___OptionContext___parse(recv) ((opts___OptionContext___parse_t)CALL((recv), (SFT_opts[33] + 4)))
-#define CALL_opts___OptionContext___parse_intern(recv) ((opts___OptionContext___parse_intern_t)CALL((recv), (SFT_opts[33] + 5)))
-#define CALL_opts___OptionContext___add_option(recv) ((opts___OptionContext___add_option_t)CALL((recv), (SFT_opts[33] + 6)))
-#define CALL_opts___OptionContext___init(recv) ((opts___OptionContext___init_t)CALL((recv), (SFT_opts[33] + 7)))
-#define CALL_opts___OptionContext___build(recv) ((opts___OptionContext___build_t)CALL((recv), (SFT_opts[33] + 8)))
-static const char * const LOCATE_opts___Option___names = "opts::Option::names";
+#define ATTR_opts___OptionParameter____parameter_mandatory(recv) ATTR(recv, (SFT_opts[15] + 0))
+#define INIT_TABLE_POS_opts___OptionParameter (SFT_opts[16] + 0)
+#define CALL_opts___OptionParameter___convert(recv) ((opts___OptionParameter___convert_t)CALL((recv), (SFT_opts[16] + 1)))
+#define CALL_opts___OptionParameter___parameter_mandatory(recv) ((opts___OptionParameter___parameter_mandatory_t)CALL((recv), (SFT_opts[16] + 2)))
+#define CALL_opts___OptionParameter___parameter_mandatory__eq(recv) ((opts___OptionParameter___parameter_mandatory__eq_t)CALL((recv), (SFT_opts[16] + 3)))
+#define CALL_SUPER_opts___OptionParameter___read_param(recv) ((opts___OptionParameter___read_param_t)CALL((recv), (SFT_opts[16] + 4)))
+#define CALL_opts___OptionParameter___init_opt(recv) ((opts___OptionParameter___init_opt_t)CALL((recv), (SFT_opts[16] + 5)))
+#define ID_opts___OptionString (SFT_opts[17])
+#define COLOR_opts___OptionString (SFT_opts[18])
+#define INIT_TABLE_POS_opts___OptionString (SFT_opts[19] + 0)
+#define CALL_opts___OptionString___init(recv) ((opts___OptionString___init_t)CALL((recv), (SFT_opts[19] + 1)))
+#define ID_opts___OptionEnum (SFT_opts[20])
+#define COLOR_opts___OptionEnum (SFT_opts[21])
+#define ATTR_opts___OptionEnum____values(recv) ATTR(recv, (SFT_opts[22] + 0))
+#define INIT_TABLE_POS_opts___OptionEnum (SFT_opts[23] + 0)
+#define CALL_opts___OptionEnum___init(recv) ((opts___OptionEnum___init_t)CALL((recv), (SFT_opts[23] + 1)))
+#define CALL_opts___OptionEnum___value_name(recv) ((opts___OptionEnum___value_name_t)CALL((recv), (SFT_opts[23] + 2)))
+#define ID_opts___OptionInt (SFT_opts[24])
+#define COLOR_opts___OptionInt (SFT_opts[25])
+#define INIT_TABLE_POS_opts___OptionInt (SFT_opts[26] + 0)
+#define CALL_opts___OptionInt___init(recv) ((opts___OptionInt___init_t)CALL((recv), (SFT_opts[26] + 1)))
+#define ID_opts___OptionArray (SFT_opts[27])
+#define COLOR_opts___OptionArray (SFT_opts[28])
+#define ATTR_opts___OptionArray____values(recv) ATTR(recv, (SFT_opts[29] + 0))
+#define INIT_TABLE_POS_opts___OptionArray (SFT_opts[30] + 0)
+#define CALL_opts___OptionArray___init(recv) ((opts___OptionArray___init_t)CALL((recv), (SFT_opts[30] + 1)))
+#define ID_opts___OptionContext (SFT_opts[31])
+#define COLOR_opts___OptionContext (SFT_opts[32])
+#define ATTR_opts___OptionContext____options(recv) ATTR(recv, (SFT_opts[33] + 0))
+#define ATTR_opts___OptionContext____rest(recv) ATTR(recv, (SFT_opts[33] + 1))
+#define ATTR_opts___OptionContext____errors(recv) ATTR(recv, (SFT_opts[33] + 2))
+#define ATTR_opts___OptionContext____optmap(recv) ATTR(recv, (SFT_opts[33] + 3))
+#define INIT_TABLE_POS_opts___OptionContext (SFT_opts[34] + 0)
+#define CALL_opts___OptionContext___options(recv) ((opts___OptionContext___options_t)CALL((recv), (SFT_opts[34] + 1)))
+#define CALL_opts___OptionContext___rest(recv) ((opts___OptionContext___rest_t)CALL((recv), (SFT_opts[34] + 2)))
+#define CALL_opts___OptionContext___errors(recv) ((opts___OptionContext___errors_t)CALL((recv), (SFT_opts[34] + 3)))
+#define CALL_opts___OptionContext___usage(recv) ((opts___OptionContext___usage_t)CALL((recv), (SFT_opts[34] + 4)))
+#define CALL_opts___OptionContext___parse(recv) ((opts___OptionContext___parse_t)CALL((recv), (SFT_opts[34] + 5)))
+#define CALL_opts___OptionContext___parse_intern(recv) ((opts___OptionContext___parse_intern_t)CALL((recv), (SFT_opts[34] + 6)))
+#define CALL_opts___OptionContext___add_option(recv) ((opts___OptionContext___add_option_t)CALL((recv), (SFT_opts[34] + 7)))
+#define CALL_opts___OptionContext___init(recv) ((opts___OptionContext___init_t)CALL((recv), (SFT_opts[34] + 8)))
+#define CALL_opts___OptionContext___build(recv) ((opts___OptionContext___build_t)CALL((recv), (SFT_opts[34] + 9)))
+#define CALL_opts___OptionContext___get_errors(recv) ((opts___OptionContext___get_errors_t)CALL((recv), (SFT_opts[34] + 10)))