In reply to @planetis_m "As I remember, Araq's": > initialisation for every variable. I mean, every variable has to be initialised. variables hold data, and data only exists if it's initialised. (simplification, yes, but essentially that's the way it is) > Result allows you to stick with structured programming How so? Can you provide an illustrative snippet that would break in a bad way if `result` wasn't implicit, and had to have `let res = ....` instead, or something similar? I'm not sure what you're referring to when you say that the existence of a magic/implicit variable is _needed_ for a particular style of writing code. > is the best concept when you want to write safe code that becomes moot when it means that tiny mistakes can "therac-25"-ise your code because of a magic-variable and implicit setting of it. even so, early returns are all over the place in rust (every time you see `?`, it's just "if it's an Err, return the error, otherwise, unwrap the contents of the `Ok`). You also see a lot if `if XXX { return YYY; }` in high quality rust code. I can only think of Haskell if we're looking for a language with a reputation as producing projects with high quality, safe code.