So in a sense, cobol is a higher level language then both due to PIC Clauses? I don’t follow this if higher level languages is solely based on syntactic sugar.
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.