This is now valid syntax in Go:
var value interface{} //+overloaded func setValue(x int) { value = x } //+overloaded func setValue(x string) { value = x } //+overloaded func setValue(x int, y string) { value = fmt.Sprintf("%d %s", x, y) }
If you don’t believe me, check out the source code on the Go playground.