docs: protected Expression listExpression(AST listNode) {
          List<Expression> expressions = new ArrayList<Expression>();
          AST elist = listNode.getFirstChild();
          assertNodeType(ELIST, elist);
  
          for (AST node = elist.getFirstChild(); node != null; node = node.getNextSibling()) {
              // check for stray labeled arguments:
              switch (node.getType()) {
                  case LABELED_ARG:
                      assertNodeType(COMMA, node);
                      break;  // helpful error?
                  case SPREAD_MAP_ARG:
                      assertNodeType(SPREAD_ARG, node);
                      break;  // helpful error
              }
              expressions.add(expression(node));
          }
          ListExpression listExpression = new ListExpression(expressions);
          configureAST(listExpression, listNode);
          return listExpression;
      }