code: def isna_compat(arr, fill_value=np.nan) -> bool:
      """
      Parameters
      ----------
      arr: a numpy array
      fill_value: fill value, default to np.nan
  
      Returns
      -------
      True if we can fill using this fill_value
      """
      if isna(fill_value):
          dtype = arr.dtype
          return not (is_bool_dtype(dtype) or is_integer_dtype(dtype))
      return True
  
imports: from __future__ import annotations
  from decimal import Decimal
  from functools import partial
  from typing import TYPE_CHECKING, overload
  import numpy
  from pandas._config import get_option
  from pandas._libs import lib
  import pandas._libs.missing
  from pandas._libs.tslibs import NaT, iNaT
  from pandas.core.dtypes.common import DT64NS_DTYPE, TD64NS_DTYPE, ensure_object, is_bool_dtype, is_categorical_dtype, is_complex_dtype, is_dtype_equal, is_extension_array_dtype, is_float_dtype, is_integer_dtype, is_object_dtype, is_scalar, is_string_or_object_np_dtype, needs_i8_conversion
  from pandas.core.dtypes.dtypes import CategoricalDtype, DatetimeTZDtype, ExtensionDtype, IntervalDtype, PeriodDtype
  from pandas.core.dtypes.generic import ABCDataFrame, ABCExtensionArray, ABCIndex, ABCMultiIndex, ABCSeries
  from pandas.core.dtypes.inference import is_list_like
label_desc: Use image node_id 17 for calling a global function with example usage: isna_compat(arr, fill_value) and returns: True, unknown