Yes, this is all safe when you only have one thread, but if you plan for the future (threads in Julia), I wander if only Int64 on 32-bit (and Int128, on 32- and 64-bit) is unsafe, as it is non-atomic:
See there "torn write". I saw a little surprised that all accesses in C/C++ can be non-safe.. so maybe that also applies to Julia.
Do I worry to much, as locks would be the way (or "lock-free"), to guard against non-atomic?
If you need big numbers keep BigNum in mind that I think should always be safe.