The language is simple, the implementation is anything but.
In fact, the Go core team themselves have said time and again that they preferred simple implementations and implementation convenience over more powerful but complex ones...
In my view, if Cranelift had been around when Go was announced, it would have been the clear best choice over LLVM, due to compile times and relative simplicity allowing for easy modifications to add things like precise moving GC and moving stacks.
Too bad cranelift is written in a language which wasn't even invented when Go was announced ^^.