code: func (v *evalVisitor) VisitPartial(node *ast.PartialStatement) interface{} {
  	v.at(node)
  
  	// partialName: helperName | sexpr
  	name, ok := ast.HelperNameStr(node.Name)
  	if !ok {
  		if subExpr, ok := node.Name.(*ast.SubExpression); ok {
  			name, _ = subExpr.Accept(v).(string)
  		}
  	}
  
  	if name == "" {
  		v.errorf("Unexpected partial name: %q", node.Name)
  	}
  
  	partial := v.findPartial(name)
  	if partial == nil {
  		v.errorf("Partial not found: %s", name)
  	}
  
  	return v.evalPartial(partial, node)
  }
docs: // VisitPartial implements corresponding Visitor interface method