The Go build process links everything statically except the "go" tool itself, which is dynamically linked only to libs provided by glibc. Since there are no dependencies on the toolchain after it's built, it doesn't make sense to me to introduce a toolchain as a module dependency.

Does that make sense? If you prefer not to rely on the presence of a system compiler we can do it the other way... this just seemed a little "cleaner" in terms of the module system.