type simplifier … func (s simplifier) Visit(node ast.Node) ast.Visitor { … } func (s simplifier) simplifyLiteral(typ reflect.Value, astType, x ast.Expr, px *ast.Expr) { … } func isBlank(x ast.Expr) bool { … } func simplify(f *ast.File) { … } func removeEmptyDeclGroups(f *ast.File) { … } func isEmpty(f *ast.File, g *ast.GenDecl) bool { … }