i mean instead of having:

if (conditions = A) { do long list of stuff with string#1 }
elseif (conditions = B) { do long list of stuff with string#2 }
elseif (conditions = C) { do long list of stuff with string#3 }

etc...

do:

unset %type

if (conditions = A) { set %type string#1 }
elseif (conditions = B) { set %type string#2 }
elseif (conditions = C) { set %type string#3 }

if (%type) {
do long list of stuff with string %type
}