code: def __init__(
      self,
      exp_type: ExpressionType,
      rtype: ExpressionReturnType = ExpressionReturnType.INVALID,
      children=None,
  ):
      self._etype = exp_type
      self._rtype = rtype
      self._children = children or []
  
imports: from abc import ABC, abstractmethod
  from collections import deque
  from copy import deepcopy
  from enum import IntEnum, auto, unique
  from typing import Any
label_desc: Use image node_id 1 to create a new AbstractExpression object from inherited base classes: ABC with example: obj = AbstractExpression(exp_type, rtype, children)