-((void (*)(val*, val*))(var_31->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_31, var33) /* add on <var_31:Array[Object]>*/;
-var37 = self->attrs[COLOR_opts__OptionEnum___values].val; /* _values on <self:OptionEnum> */
-if (var37 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _values");
-fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 184);
-show_backtrace(1);
-}
-if (varonce38) {
-var39 = varonce38;
-} else {
-var40 = ", ";
-var41 = 2;
-var42 = string__NativeString__to_s_with_length(var40, var41);
-var39 = var42;
-varonce38 = var39;
-}
-var43 = ((val* (*)(val*, val*))(var37->class->vft[COLOR_string__Collection__join]))(var37, var39) /* join on <var37:Array[String]>*/;
-((void (*)(val*, val*))(var_31->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_31, var43) /* add on <var_31:Array[Object]>*/;
-if (varonce44) {
-var45 = varonce44;
-} else {
-var46 = ".";
-var47 = 1;
-var48 = string__NativeString__to_s_with_length(var46, var47);
-var45 = var48;
-varonce44 = var45;
-}
-((void (*)(val*, val*))(var_31->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_31, var45) /* add on <var_31:Array[Object]>*/;
-var49 = ((val* (*)(val*))(var_31->class->vft[COLOR_string__Object__to_s]))(var_31) /* to_s on <var_31:Array[Object]>*/;
-var50 = ((val* (*)(val*, val*))(var_e->class->vft[COLOR_string__String___43d]))(var_e, var49) /* + on <var_e:String>*/;
-var_e = var50;
-var51 = self->attrs[COLOR_opts__Option___errors].val; /* _errors on <self:OptionEnum> */
-if (var51 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _errors");
-fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 185);
-show_backtrace(1);
-}
-((void (*)(val*, val*))(var51->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var51, var_e) /* add on <var51:Array[String]>*/;
-} else {
-}
-var = var_id;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method opts#OptionEnum#convert for (self: Object, String): nullable Object */
-val* VIRTUAL_opts__OptionEnum__convert(val* self, val* p0) {
-val* var /* : nullable Object */;
-long var1 /* : Int */;
-val* var2 /* : nullable Object */;
-var1 = opts__OptionEnum__convert(self, p0);
-var2 = BOX_kernel__Int(var1); /* autobox from Int to nullable Object */
-var = var2;
-RET_LABEL:;
-return var;
-}
-/* method opts#OptionEnum#value_name for (self: OptionEnum): String */
-val* opts__OptionEnum__value_name(val* self) {
-val* var /* : String */;
-val* var1 /* : Array[String] */;
-val* var2 /* : nullable Object */;
-val* var3 /* : nullable Object */;
-long var4 /* : Int */;
-var1 = self->attrs[COLOR_opts__OptionEnum___values].val; /* _values on <self:OptionEnum> */
-if (var1 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _values");
-fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 190);
-show_backtrace(1);
-}
-var2 = ((val* (*)(val*))(self->class->vft[COLOR_opts__Option__value]))(self) /* value on <self:OptionEnum>*/;
-var4 = ((struct instance_kernel__Int*)var2)->value; /* autounbox from nullable Object to Int */;
-var3 = ((val* (*)(val*, long))(var1->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var1, var4) /* [] on <var1:Array[String]>*/;
-var = var3;
-goto RET_LABEL;
-RET_LABEL:;
-return var;
-}
-/* method opts#OptionEnum#value_name for (self: Object): String */
-val* VIRTUAL_opts__OptionEnum__value_name(val* self) {
-val* var /* : String */;
-val* var1 /* : String */;
-var1 = opts__OptionEnum__value_name(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method opts#OptionEnum#pretty_default for (self: OptionEnum): String */
-val* opts__OptionEnum__pretty_default(val* self) {
-val* var /* : String */;
-val* var1 /* : nullable Object */;
-val* var2 /* : null */;
-short int var3 /* : Bool */;
-val* var4 /* : Array[Object] */;
-long var5 /* : Int */;
-val* var_ /* var : Array[Object] */;
-static val* varonce;
-val* var6 /* : String */;
-char* var7 /* : NativeString */;
-long var8 /* : Int */;
-val* var9 /* : String */;
-val* var10 /* : Array[String] */;
-val* var11 /* : nullable Object */;
-val* var12 /* : nullable Object */;
-long var13 /* : Int */;
-static val* varonce14;
-val* var15 /* : String */;
-char* var16 /* : NativeString */;
-long var17 /* : Int */;
-val* var18 /* : String */;
-val* var19 /* : String */;
-static val* varonce20;
-val* var21 /* : String */;
-char* var22 /* : NativeString */;
-long var23 /* : Int */;
-val* var24 /* : String */;
-var1 = ((val* (*)(val*))(self->class->vft[COLOR_opts__Option__default_value]))(self) /* default_value on <self:OptionEnum>*/;
-var2 = NULL;
-if (var1 == NULL) {
-var3 = 0; /* is null */
-} else {
-var3 = 1; /* arg is null and recv is not */
-}
-if (var3){
-var4 = NEW_array__Array(&type_array__Arraykernel__Object);
-var5 = 3;
-((void (*)(val*, long))(var4->class->vft[COLOR_array__Array__with_capacity]))(var4, var5) /* with_capacity on <var4:Array[Object]>*/;
-var_ = var4;
-if (varonce) {
-var6 = varonce;
-} else {
-var7 = " (";
-var8 = 2;
-var9 = string__NativeString__to_s_with_length(var7, var8);
-var6 = var9;
-varonce = var6;
-}
-((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var6) /* add on <var_:Array[Object]>*/;
-var10 = self->attrs[COLOR_opts__OptionEnum___values].val; /* _values on <self:OptionEnum> */
-if (var10 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Uninitialized attribute _values");
-fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 195);
-show_backtrace(1);
-}
-var11 = ((val* (*)(val*))(self->class->vft[COLOR_opts__Option__default_value]))(self) /* default_value on <self:OptionEnum>*/;
-if (var11 == NULL) {
-fprintf(stderr, "Runtime error: %s", "Cast failed");
-fprintf(stderr, " (%s:%d)\n", "lib/opts.nit", 195);
-show_backtrace(1);
-}
-var13 = ((struct instance_kernel__Int*)var11)->value; /* autounbox from nullable Int to Int */;
-var12 = ((val* (*)(val*, long))(var10->class->vft[COLOR_abstract_collection__SequenceRead___91d_93d]))(var10, var13) /* [] on <var10:Array[String]>*/;
-((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var12) /* add on <var_:Array[Object]>*/;
-if (varonce14) {
-var15 = varonce14;
-} else {
-var16 = ")";
-var17 = 1;
-var18 = string__NativeString__to_s_with_length(var16, var17);
-var15 = var18;
-varonce14 = var15;
-}
-((void (*)(val*, val*))(var_->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_, var15) /* add on <var_:Array[Object]>*/;
-var19 = ((val* (*)(val*))(var_->class->vft[COLOR_string__Object__to_s]))(var_) /* to_s on <var_:Array[Object]>*/;
-var = var19;
-goto RET_LABEL;
-} else {
-if (varonce20) {
-var21 = varonce20;
-} else {
-var22 = "";
-var23 = 0;
-var24 = string__NativeString__to_s_with_length(var22, var23);
-var21 = var24;
-varonce20 = var21;
-}
-var = var21;
-goto RET_LABEL;
-}
-RET_LABEL:;
-return var;
-}
-/* method opts#OptionEnum#pretty_default for (self: Object): String */
-val* VIRTUAL_opts__OptionEnum__pretty_default(val* self) {
-val* var /* : String */;
-val* var1 /* : String */;
-var1 = opts__OptionEnum__pretty_default(self);
-var = var1;
-RET_LABEL:;
-return var;
-}
-/* method opts#OptionInt#init for (self: OptionInt, String, Int, Array[String]) */
-void opts__OptionInt__init(val* self, val* p0, long p1, val* p2) {
-val* var_help /* var help: String */;
-long var_default /* var default: Int */;
-val* var_names /* var names: Array[String] */;
-val* var /* : nullable Object */;
-var_help = p0;
-var_default = p1;
-var_names = p2;
-var = BOX_kernel__Int(var_default); /* autobox from Int to nullable Object */
-((void (*)(val*, val*, val*, val*))(self->class->vft[COLOR_opts__OptionParameter__init_opt]))(self, var_help, var, var_names) /* init_opt on <self:OptionInt>*/;
-RET_LABEL:;
-}
-/* method opts#OptionInt#init for (self: Object, String, Int, Array[String]) */
-void VIRTUAL_opts__OptionInt__init(val* self, val* p0, long p1, val* p2) {
-opts__OptionInt__init(self, p0, p1, p2);
-RET_LABEL:;
-}
-/* method opts#OptionInt#convert for (self: OptionInt, String): Int */
-long opts__OptionInt__convert(val* self, val* p0) {
-long var /* : Int */;
-val* var_str /* var str: String */;
-long var1 /* : Int */;
-var_str = p0;
-var1 = ((long (*)(val*))(var_str->class->vft[COLOR_string__AbstractString__to_i]))(var_str) /* to_i on <var_str:String>*/;