code: func (p *parser) parseMustache() *ast.MustacheStatement {
  	// OPEN | OPEN_UNESCAPED
  	tok := p.shift()
  
  	closeToken := lexer.TokenClose
  	if tok.Kind == lexer.TokenOpenUnescaped {
  		closeToken = lexer.TokenCloseUnescaped
  	}
  
  	unescaped := false
  	if (tok.Kind == lexer.TokenOpenUnescaped) || (rOpenAmp.MatchString(tok.Val)) {
  		unescaped = true
  	}
  
  	result := ast.NewMustacheStatement(tok.Pos, tok.Line, unescaped)
  
  	// helperName param* hash?
  	result.Expression = p.parseExpression(tok)
  
  	// CLOSE | CLOSE_UNESCAPED
  	tokClose := p.shift()
  	if tokClose.Kind != closeToken {
  		errExpected(closeToken, tokClose)
  	}
  
  	result.Strip = ast.NewStrip(tok.Val, tokClose.Val)
  
  	return result
  }
docs: // mustache : OPEN helperName param* hash? CLOSE
  //          | OPEN_UNESCAPED helperName param* hash? CLOSE_UNESCAPED