code: def _jsonify(x: Any) -> Union[Dict[str, Any], List[Any], _PRIMITIVE]:
      if x is None:
          return None
      elif isinstance(x, (list, tuple)):
          return [_jsonify(y) for y in x]
      elif isinstance(x, BoundArguments):
          return _jsonify(x.arguments)
      elif isinstance(x, dict):
          return {
              k: _jsonify(y)
              for k, y in x.items()
              if not k.endswith("__")
          }
      elif isinstance(x, Path):
          # We only check paths relative to data root folder
          return x.relative_to(DATA_ROOT).as_posix()
      elif is_dataclass(x):
          return _jsonify(asdict(x))
      else:
          assert isinstance(x, get_args(_PRIMITIVE))
          return x
  
imports: import inspect
  import json
  import logging
  import pickle
  from dataclasses import asdict, dataclass, field, is_dataclass
  from functools import wraps
  from inspect import BoundArguments
  from pathlib import Path
  from typing import Any, Callable, Dict, Generic, List, Literal, Protocol, TypeVar, Union, cast, get_args
  import dask
  import dask.dataframe
  import pandas
  from src.utils import stringify
label_desc: Use image node_id 1 for calling a global function with example usage: _jsonify(x) and returns: None, unknown, _jsonify, unknown, x, _jsonify, x