"Not adding extra syntax is in line with one of Go’s design rules: do not provide multiple ways of doing the same thing"
And so any change to any existing functionality is a breaking change that invalidates all code which uses that functionality? That design rule smells like hubris on the part of Go's designers. It only works if all future changes are extensions and never amendments.