How would rust be generally higher level then go?
The abstractions that Rust can express that Go cannot that I find very attractive are mostly restrictions: they give the coder a way to commit to behaving a certain way throughout the codebase. Sort of like OpenBSD's pledge and unveil system calls, but part of the language, not part of the OS. Of course the coder can back out of the commitment by removing the declarations that produced the commitment.
In general, any elaborate type system in any language (such as Rust has) can be fruitfully considered a way for a coder to impose restrictions on himself and any other coders editing the codebase for the benefit of anyone trying to understand the codebase.