I read in this presentation http://golang.org/doc/ExpressivenessOfGo.pdf page 42:
Safe - no stack overflows
Safe
- no stack overflows
Ho
Even C can do it with a few constraints that basically affect the compiler.
It is an impressive feat of engineering but not of language design.