Sorry, I've made a typo / mixup in my previous post. It originally said: "Python users are used to just saying `b = 2` for _let_ ".
I obviously meant: "Python users are used to just saying `b = 2` for _var_ ". There is no _var_ keyword that you have to use when first create a variable. My "implicit var" proposal was for Nim to behave the same way for `b = 2` as for `var b = 2`. You'd still get _b_ type-inferred as _int_ with static checking like in Crystal (or like with `b := 2` in Go). > Furthermore, even being a long time user of Python, I appreciate the use of > var and let in Nim. In Python, the location of the first binding of a name > (which we could consider to be its “declaration”) is frequently lost > somewhere in the code. Nim has already embraced the "[F12](http://www.mynavblog.com/2018/09/12/navdevtips-15-hit-f12-some-tricks-in-vscode/) is your friend" mindset, but why not apply it consistently? (F12 being the "go to definition" shortcut in vscode, Nim community's [most popular](https://nim-lang.org/blog/2018/10/27/community-survey-results-2018.html) editor. All editors in that survey support such a feature, or easily could with a better Nim support plugin.) "Hey, here's a crazy idea: let's use computers to help us read and write computer programs!"
