I found it was easy to write Nim coming from Python and doing a few tutorials I found around the web and some programming puzzles. The advanced features like macros, tempates, generics, etc. are harder to learn, but I haven't needed them yet so far. I did have to dig into the actual library source code several times because the documentation is quite sparse, and for things like async and parallel programming there aren't many examples to pull from at all. However, I find it's way easier to program in Nim with static typing and the applications I write are much faster than Python, even without the crutches of numpy operations, pandas dataframes, and the huge Python ecosystem.