I was looking at [this thread][1] on SO and thinking about the functional programming I've been learning, and how immutability is so key there, and it occured to me that maybe some language has gotten the idea to have variables start out "null", then go to a "building" state, and finally become the same as any other immutable when initialization is done. Is this a valid concept and/or has it been tried or experimented with at the language level? [1]: http://stackoverflow.com/questions/11654190/ienumerablechar-to-string