Functional programming in Golang