code: func ParseBody(input string) (Body, error) {
  	stmts, _, err := ParseStatements("", input)
  	if err != nil {
  		return nil, err
  	}
  
  	result := Body{}
  
  	for _, stmt := range stmts {
  		switch stmt := stmt.(type) {
  		case Body:
  			result = append(result, stmt...)
  		case *Comment:
  			// skip
  		default:
  			return nil, fmt.Errorf("expected body but got %T", stmt)
  		}
  	}
  
  	setExprIndices(result)
  
  	return result, nil
  }
docs: // ParseBody returns exactly one body.
  // If multiple bodies are parsed, an error is returned.