e.g.
a1 .set 123
fred .set "ABC " + a1 + " XYZ" ; automatic coercion of integer to string
.db fred
; is equivalent to
.db "ABC 123 XYZ"
----------------------
Both operands of the - arithmetic operator are required to be integers
so automatic coercion to integer takes place if a string is supplied
2 - 1 yields 1
"2" - 1 yields 1
"2" - "1" yields 1
2 - "1" yields 1
----------------------
Both operands of the == comparison operator are required to be of the
same type (either both strings or both integer). The right hand operand
is automatically coerced to be of the same type as the left operand if
it is different.
2 == 1 left and right hand operands are integers
so perform integer EQUALS comparison which
yields 0
"2" == 1 left hand operand is string and right hand
operand is integer so coerce right hand operand
to string and perform string EQUALS comparison
which yields 0
"2" == "1" left and right hand operands are strings
so perform string EQUALS comparison which
yields 0
2 == "1" left hand operand is integer and right hand
operand is string so coerce right hand operand
to integer and perform integer EQUALS comparison
which yields 0