+return var;
+}
+/* method more_collections$BestDistance$update for (self: BestDistance[nullable Object], Int, nullable Object): Bool */
+short int more_collections___more_collections__BestDistance___update(val* self, long p0, val* p1) {
+short int var /* : Bool */;
+short int var1 /* : Bool */;
+int cltype;
+int idtype;
+const struct type* type_struct;
+short int is_nullable;
+const char* var_class_name;
+long var_distance /* var distance: Int */;
+val* var_candidate /* var candidate: nullable Object */;
+long var2 /* : Int */;
+long var4 /* : Int */;
+short int var5 /* : Bool */;
+short int var7 /* : Bool */;
+int cltype8;
+int idtype9;
+const char* var_class_name10;
+short int var11 /* : Bool */;
+long var12 /* : Int */;
+long var14 /* : Int */;
+short int var15 /* : Bool */;
+short int var17 /* : Bool */;
+int cltype18;
+int idtype19;
+const char* var_class_name20;
+short int var21 /* : Bool */;
+val* var23 /* : Set[nullable Object] */;
+val* var25 /* : Set[nullable Object] */;
+val* var26 /* : Set[nullable Object] */;
+val* var28 /* : Set[nullable Object] */;
+/* Covariant cast for argument 1 (candidate) <p1:nullable Object> isa E */
+/* <p1:nullable Object> isa E */
+type_struct = self->type->resolution_table->types[COLOR_more_collections__BestDistance___35dE];
+cltype = type_struct->color;
+idtype = type_struct->id;
+is_nullable = type_struct->is_nullable;
+if(p1 == NULL) {
+var1 = is_nullable;
+} else {
+if(cltype >= (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->table_size) {
+var1 = 0;
+} else {
+var1 = (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->type_table[cltype] == idtype;
+}
+}
+if (unlikely(!var1)) {
+var_class_name = p1 == NULL ? "null" : (((long)p1&3)?type_info[((long)p1&3)]:p1->type)->name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "E", var_class_name);
+PRINT_ERROR(" (%s:%d)\n", FILE_more_collections, 565);
+fatal_exit(1);
+}
+var_distance = p0;
+var_candidate = p1;
+{
+{ /* Inline more_collections$BestDistance$best_distance (self) on <self:BestDistance[nullable Object]> */
+var4 = self->attrs[COLOR_more_collections__BestDistance___best_distance].l; /* _best_distance on <self:BestDistance[nullable Object]> */
+var2 = var4;
+RET_LABEL3:(void)0;
+}
+}
+{
+{ /* Inline kernel$Int$> (var_distance,var2) on <var_distance:Int> */
+/* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
+/* <var2:Int> isa OTHER */
+var7 = 1; /* easy <var2:Int> isa OTHER*/
+if (unlikely(!var7)) {
+var_class_name10 = type_core__Int.name;
+PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name10);
+PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel, 727);
+fatal_exit(1);
+}
+var11 = var_distance > var2;
+var5 = var11;
+goto RET_LABEL6;
+RET_LABEL6:(void)0;
+}
+}
+if (var5){
+var = 0;
+goto RET_LABEL;
+} else {