code: def _distill_raw_params(
      params: Optional[_DBAPIAnyExecuteParams],
  ) -> _DBAPIMultiExecuteParams:
      if params is None:
          return _no_tuple
      elif isinstance(params, list):
          # collections_abc.MutableSequence): # avoid abc.__instancecheck__
          if params and not isinstance(params[0], (tuple, Mapping)):
              raise exc.ArgumentError(
                  "List argument must consist only of tuples or dictionaries"
              )
  
          return params
      elif isinstance(params, (tuple, dict)) or isinstance(
          # only do abc.__instancecheck__ for Mapping after we've checked
          # for plain dictionaries and would otherwise raise
          params,
          Mapping,
      ):
          # cast("Union[List[Mapping[str, Any]], Tuple[Any, ...]]", [params])
          return [params]  # type: ignore
      else:
          raise exc.ArgumentError(
              "mapping or sequence expected for parameters"
          )
  
file_path: sqlalchemy/lib/sqlalchemy/engine/_py_util.py
imports: from __future__ import annotations
  import typing
  from typing import Any
  from typing import Mapping
  from typing import Optional
  from typing import Tuple
  from ..None import exc
label_desc: Use image node_id 2 for calling a global function with example usage: _distill_raw_params(params) and returns: _no_tuple, params, list