Generic Programming in Golang