> memory unsafe language
That's the implementation thing, not the language. You can implement an ANSI Forth standard like GForth in a memory safe way without a lot of issues. Even the memory allocation words[0] are easily implemented in a garbage collected language. Of course that makes it useless for embedded purposes which is where Forth usually works well, but that's not an issue as you are not doing that here.