code: func rewriteLocalAssignments(g *localVarGenerator, body Body) (Body, map[Var]Var, Errors) {
  	stack := newLocalDeclaredVars()
  	var errs Errors
  	errs = rewriteDeclaredVarsInBody(g, stack, body, errs)
  	return body, stack.Pop(), errs
  }
docs: // rewriteLocalAssignments rewrites bodies to remove assignment/declaration
  // expressions. For example:
  //
  // a := 1; p[a]
  //
  // Is rewritten to:
  //
  // __local0__ = 1; p[__local0__]
  //
  // During rewriting, assignees are validated to prevent use before declaration.