code: def _get_fill_value(dtype, fill_value=None, fill_value_typ=None):
      
      if fill_value is not None:
          return fill_value
      if _na_ok_dtype(dtype):
          if fill_value_typ is None:
              return np.nan
          else:
              if fill_value_typ == '+inf':
                  return np.inf
              else:
                  return -np.inf
      else:
          if fill_value_typ is None:
              return tslibs.iNaT
          else:
              if fill_value_typ == '+inf':
                  # need the max int here
                  return _int64_max
              else:
                  return tslibs.iNaT
docs: return the correct fill value for the dtype of the values