83c83
<         SELF->cache.int_val = value->cache.int_val;
---
>         RECALL;
88c88
<         SELF->cache.int_val = value;
---
>         RECALL;
96c96
<         SELF->cache.int_val = value->cache.int_val;
---
>         RECALL;
131c131
<         SELF->data = value->data;
---
>         RECALL;
136c136
<         SELF->data = value;
---
>         RECALL;
141c141
<         SELF->data = value;
---
>         RECALL;
146c146
<         SELF->data = value;
---
>         RECALL;
151c151
<         SELF->data = value->data;
---
>         RECALL;
155,169c155,157
<         if(value->vtable == &Parrot_base_vtables[enum_class_PerlInt]) {
< 	    CHANGE_TYPE(dest, PerlNum);
<             dest->vtable->set_number_native(INTERP, dest, 
<                 SELF->cache.num_val +
<                 value->vtable->get_number(INTERP, value)
<             );
<         }
<         else if(value->vtable == &Parrot_base_vtables[enum_class_PerlNum]) {
< 	    CHANGE_TYPE(dest, PerlNum);
<             dest->vtable->set_number_native(INTERP, dest, 
<                 SELF->cache.num_val +
<                 value->vtable->get_number(INTERP, value)
<             );
<         }
<         else if(value->vtable == &Parrot_base_vtables[enum_class_PerlString]) {
---
>         if(value->vtable == &Parrot_base_vtables[enum_class_PerlInt] ||
>            value->vtable == &Parrot_base_vtables[enum_class_PerlNum] ||
>            value->vtable == &Parrot_base_vtables[enum_class_PerlString] ) {
194,201c182,184
<         if(value->vtable == &Parrot_base_vtables[enum_class_PerlInt]) {
< 	    CHANGE_TYPE(dest, PerlNum);
<             dest->vtable->set_number_native(INTERP, dest, 
<                 SELF->cache.num_val -
<                 value->vtable->get_number(INTERP, value)
<             );
<         }
<         else if(value->vtable == &Parrot_base_vtables[enum_class_PerlNum]) {
---
>         if(value->vtable == &Parrot_base_vtables[enum_class_PerlInt] ||
>            value->vtable == &Parrot_base_vtables[enum_class_PerlNum] ||
>            value->vtable == &Parrot_base_vtables[enum_class_PerlString] ) {
208,209d190
<         else {
<         }
230,237c211,213
<         if(value->vtable == &Parrot_base_vtables[enum_class_PerlInt]) {
< 	    CHANGE_TYPE(dest, PerlNum);
<             dest->vtable->set_number_native(INTERP, dest, 
<                 SELF->cache.num_val *
<                 value->vtable->get_number(INTERP, value)
<             );
<         }
<         else if(value->vtable == &Parrot_base_vtables[enum_class_PerlNum]) {
---
>         if(value->vtable == &Parrot_base_vtables[enum_class_PerlInt] ||
>            value->vtable == &Parrot_base_vtables[enum_class_PerlNum] ||
>            value->vtable == &Parrot_base_vtables[enum_class_PerlString]) {
244,245d219
<         else {
<         }
266,273c240,242
<         if(value->vtable == &Parrot_base_vtables[enum_class_PerlInt]) {
< 	    CHANGE_TYPE(dest, PerlNum);
<             dest->vtable->set_number_native(INTERP, dest, 
<                 SELF->cache.num_val /
<                 value->vtable->get_number(INTERP, value)
<             );
<         }
<         else if(value->vtable == &Parrot_base_vtables[enum_class_PerlNum]) {
---
>         if(value->vtable == &Parrot_base_vtables[enum_class_PerlInt] ||
>            value->vtable == &Parrot_base_vtables[enum_class_PerlNum] ||
>            value->vtable == &Parrot_base_vtables[enum_class_PerlString]) {
279,280d247
<         }
<         else {
