Good idea, my project is on Go right now. Will try teaching it and come back...

Nitpicks:

> compiles fast

That is totally irrelevant for beginners, as their programs > as opposed to say Java

Not really a big problem, actually. I watched how people learn Java in college (I was a pro at the time so helped them) -- they usually get main() definition from professor, and then just copy that file around. They write everything right in main() or in other static methods, so not a biggie it's all wrapped in some mystic "class Main {...}". But I think it's much better that:

1. They have to write types for all variables and no implicit conversions made.

2. If it's not in autocomplete -- it doesn't exist. Compare that to Pythons "len()", or Go's "append()" (and explain why result of append() needs to be assigned if it works without it).