code: func (p *parser) parseOpenBlockExpression(tok *lexer.Token) (*ast.BlockStatement, []string) {
  	var blockParams []string
  
  	result := ast.NewBlockStatement(tok.Pos, tok.Line)
  
  	// helperName param* hash?
  	result.Expression = p.parseExpression(tok)
  
  	// blockParams?
  	if p.isBlockParams() {
  		blockParams = p.parseBlockParams()
  	}
  
  	// named returned values
  	return result, blockParams
  }
docs: // helperName param* hash? blockParams?