In reply to @hawkey5212 "Nah. I wasted a": As I remember, Araq's proposal was to require initialization for every variable, including result. However, people complained about things like, "I don't like the extra typing, and the default(T) syntax suxs." I, for one, agree with that proposal. I wrote a fuzzer in Nim and saw the issues firsthand. However, I don't have a strong opinion either way. I do not agree that result is the issue here. Result allows you to stick with structured programming (Hoare), which, in my opinion, is the best concept when you want to write safe code. The rest are misunderstandings and garbage concepts like "clean code". "Oh my code has many level of indentations I must make it flat by returning early"