LNode ProcessBlockCallStmt(LNode stmt, int childStmtsStartAt) { List <LNode> childStmts = stmt.Slice(childStmtsStartAt).ToList(); LNode partialStmt = stmt.WithArgs(stmt.Args.First(childStmtsStartAt)); VList <LNode> advanceSequence; if (ProcessBlockCallStmt(ref partialStmt, out advanceSequence, childStmts)) { stmt = partialStmt.PlusArgs(childStmts); if (advanceSequence.Count != 0) { return(LNode.Call(CodeSymbols.Braces, LNode.List().AddRange(advanceSequence).Add(stmt)).SetStyle(NodeStyle.Statement)); } return(stmt); } else { return(stmt); } }