Redefining structs without restart?

I cannot say any of you are entirely right. const makes the binding constant.

This means: if you do not want to incur in undefined behaviour, you should never ever do x = anything if x is a const variable. The consequences of this are that: it will never change type, as you cannot change which object is associated with x; the compiler may just inline the object inside of function that reference it, and so if you change it the function will continue displaying the old value; immutable objects with no mutable fields (basically all isbits objects) like most numbers cannot be changed in any way; if x is a a mutable struct like Vector then you can change its contents and size because const is not about the contents of the object but about the binding, that is, it will forever be the same object (i.e., all other scopes/functions that reference it can be sure the “memory address we are speaking of” will never change). For these coming from C, the behavior for mutable structs is similar to a const pointer to an object, and for the immutable objects is like a const variable holding the object itself (without the pointer indirection).