Using Golang as the source is easier for a Golang backend team. Native types are always going to be the most convenient.
The theory when we came out with guts was that Golang's typing system is very simple (this was before generics when it was made). So how hard could it be to write a simple converter?
The first iteration of guts was written in an afternoon. Eventually I moved it to its own repo, mainly for personal use.
So honestly it really comes down to making it as easy as possible to write backend code. Using another spec that autogen's the Golang would be an extra step we did not feel we needed.
> Using another spec that autogen's the Golang would be an extra step we did not feel we needed.
No need to. You can start with Go Lang server and generate the spec from it as well.