The coolest thing about nim is that it's macros participate in the type system and overload resolution and can work with both type checked and non type checked code
In a lot of little ways, Nim is a lot like a statically typed Lisp with a vaguely Python-ish surface syntax, although this really doesn't give enough credit to all the choice one has writing Nim code.