code: def to_conjunction_list(
      expression_tree: AbstractExpression,
  ) -> List[AbstractExpression]:
      """Convert expression tree to list of conjunctives
  
      Note: It does not normalize the expression tree before extracting the conjunctives.
  
      Args:
          expression_tree (AbstractExpression): expression tree to transform
  
      Returns:
          List[AbstractExpression]: list of conjunctives
  
      Example:
          to_conjunction_list(AND(AND(a,b), OR(c,d))): [a, b, OR(c,d)]
          to_conjunction_list(OR(AND(a,b), c)): [OR(AND(a,b), c)]
              returns the original expression, does not normalize
      """
      expression_list = []
      if expression_tree.etype == ExpressionType.LOGICAL_AND:
          expression_list.extend(
              to_conjunction_list(expression_tree.children[0])
          )
          expression_list.extend(
              to_conjunction_list(expression_tree.children[1])
          )
      else:
          expression_list.append(expression_tree)
  
      return expression_list
  
file_path: evadb/evadb/expression/expression_utils.py
imports: from typing import List, Set
  from evadb.expression.abstract_expression import AbstractExpression, ExpressionType
  from evadb.expression.comparison_expression import ComparisonExpression
  from evadb.expression.constant_value_expression import ConstantValueExpression
  from evadb.expression.logical_expression import LogicalExpression
  from evadb.expression.tuple_value_expression import TupleValueExpression
label_desc: Use image node_id 1 for calling a global function with example usage: to_conjunction_list(expression_tree) and returns: expression_list