Adding a Go translation (pre-liminary)