rem: if (t->immutables[pos]) {
add: if (t->immutables[p]) {
context: static Scheme_Object *struct_setter(Struct_Proc_Info *i, int argc, Scheme_Object **args){  Scheme_Structure *inst;  int pos;  Scheme_Object *v;  if (!SCHEME_STRUCTP(args[0])) {    scheme_wrong_type(i->func_name, 		      type_name_string(i->struct_type->name), 		      0, argc, args);    return NULL;  }	  inst = (Scheme_Structure *)args[0];  if (!STRUCT_TYPEP(i->struct_type, inst)) {    wrong_struct_type(i->func_name, 		      i->struct_type->name, 		      SCHEME_STRUCT_NAME_SYM(inst),		      0, argc, args);    return NULL;  }	  if (argc == 3) {    pos = parse_pos(NULL, i, args, argc);    v = args[2];  } else {    pos = i->field;    v = args[1];  }  if (i->struct_type->immutables) {    Scheme_Struct_Type *t = i->struct_type;    if (t->name_pos)      pos -= t->parent_types[t->name_pos - 1]->num_slots;        if (t->immutables[pos]) {      scheme_arg_mismatch(i->func_name, 			  "cannot modify value of immutable field in structure: ", 			  args[0]);      return NULL;    }  }  inst->slots[pos] = v;    return scheme_void;}