"but I also appreciate being able to throw caution to the garbage collector ..."
"This does make me wonder how things went so badly with make, makemaker, autoconf, aclocal, and the rest of the Texas Toolchain Massacre"
Oddly enough, my view of go is kind of the opposite - Evan suspects it's written by coders who are sick of other people being sloppy, so they've made everything super strict. That seems to be true of the trivialities (formatting, lints, unused imports etc), but I find the language itself to be painfully sloppy. e.g. the frustrating lack of rigor around nullable values, leading to idiomatic code which can't tell the difference between a missing string and an empty string.
It also has a Result type, which is like Either but specifically for errors. You cannot ignore a Result type, even if the "success" value is unit/void. Paired with the try! macro, error handling in rust is mandatory, explicit and still quite terse.