Earlier quoted context omitted.
I'm fairly sure that almost every statically typed language has function definitions like that. C, C++, Java, Go, Rust and so on all have that style of function declaration. Named returns are a Go thing mainly because of defer.
How does defer interact with named returns?
Try it and see: https://play.golang.org/p/1ozFWDj15a