Metaprogramming Golang