> 8.1 – Incompatibilities in the Language
>
> * The coercion of strings to numbers in arithmetic and bitwise operations
> has been removed from the core language. The string library does a
> similar job for arithmetic (but not for bitwise) operations using the
> string metamethods. However, unlike in previous versions, the new
> implementation preserves the implicit type of the numeral in the string.
> For instance, the result of "1" + "2" now is an integer, not a float.
There may be a need to turn off implicit string to number conversion for
this case as well. The behavior corresponds to lstrlib.c stringmetamethods.
> getmetatable''.__add
function: 0x55da4540e5dd
> '3'+'a'
stdin:1: attempt to add a 'string' with a 'string' # expected
> '3'+'4'
7 # unexpected