It's an unintended consequence of this o2 swap macro, but you can indeed exchange values between a string and a numeric type:
macro Swap(a,b, c)
=====================
typeof(a) c=a
a=b
b=c
end macro
int a=100
string s="99"
swap a,s
print s ' result "100"