class_docstr: Fold optimization: support operators which
  accepts array of parameters (e.g., append, cbind):
  
  For example: append dst (src col_name)+
    (append (append dst srcX col_name_Y) src_A col_name_B) is transformed to
    (append dst src_X col_name_Y src_A col_name_B)
  
  Objective:
    - the folding save a temporary variable during evaluation
class_docstr_tok: ["Fold","optimization",":","support","operators","which","accepts","array","of","parameters","(","e.g.",",","append",",","cbind",")",":","For","example",":","append","dst","(","src","col_name",")","+","(","append","(","append","dst","srcX","col_name_Y",")","src_A","col_name_B",")","is","transformed","to","(","append","dst","src_X","col_name_Y","src_A","col_name_B",")","Objective",":","-","the","folding","save","a","temporary","variable","during","evaluation"]
code: def get_optimizer(self, expr):
      def foptimizer(ctx):
          nested_expr = expr.arg(0)
          expr._children = nested_expr._children + expr._children[1:]
          return expr
  
      return foptimizer
  
file_path: h2o-3/h2o-py/h2o/expr_optimizer.py
imports: import h2o.expr
label_desc: Use image node_id 3 for calling the FoldExprOptimization obj's underlying member method code with example usage: obj.get_optimizer(expr) and returns: foptimizer, expr