docs: def equivalent(first: T, second: T) -> bool:
      """Compare two objects for equivalence (identity or equality), using
      array_equiv if either object is an ndarray
      """
      # TODO: refactor to avoid circular import
      from . import duck_array_ops
      if isinstance(first, np.ndarray) or isinstance(second, np.ndarray):
          return duck_array_ops.array_equiv(first, second)
      else:
          return ((first is second) or
                  (first == second) or
                  (pd.isnull(first) and pd.isnull(second)))