1. I did the following:

    > x=17

    > print (type(17)) 


    > x= tostring (x)

    > print (type(x))


    Next I did:
    >print (x+2)
    And i got:
    (shouldn't this be impossible???) because strings can't be added

    Just like how numbers are converted to strings when you concatenate (e.g. print("Number: " .. 4)), strings are converted to numbers when you do arithmetic (the example you've just discovered). I'm not as familiar with the material in Part I, so I can't say for sure where/if that's covered.

    In Lua numbers and strings are coerced when necessary (this is a somewhat confusing feature to new users, and shouldn't ever be counted on).  There are mainly two places where this happens:

    > 14 + "2"


    > print("Fourteen: " .. 14)

    Fourteen: 14

    Even then, it's best not to count on it (in the first example, you should use the number 2 and in the second example you should really use tostring() or string.format("Fourteen: %d", 14).

    So lua converts the string right back to a number automatically due to my arthimetic? I guess sooner or later the book will clear that up for me.