code: func (t *TemplateAdapter) Tree() string {
  	var tree *parse.Tree
  	switch tt := t.Template.(type) {
  	case *template.Template:
  		tree = tt.Tree
  	case *texttemplate.Template:
  		tree = tt.Tree
  	default:
  		panic("Unknown template")
  	}
  
  	if tree == nil || tree.Root == nil {
  		return ""
  	}
  	s := tree.Root.String()
  
  	return s
  }
docs: // Tree returns the template Parse tree as a string.
  // Note: this isn't safe for parallel execution on the same template
  // vs Lookup and Execute.