AST in Go

You can do very cool things with this.

I have mostly seen code generation, but still – very cool things!