code: def non_coercible_categorical(monkeypatch):
      """
      Monkeypatch Categorical.__array__ to ensure no implicit conversion.
  
      Raises
      ------
      ValueError
          When Categorical.__array__ is called.
      """
  
      # TODO(Categorical): identify other places where this may be
      # useful and move to a conftest.py
      def array(self, dtype=None):
          raise ValueError("I cannot be converted.")
  
      with monkeypatch.context() as m:
          m.setattr(Categorical, "__array__", array)
          yield
  
imports: import math
  import numpy
  import pytest
  from pandas import NA, Categorical, CategoricalIndex, Index, Interval, IntervalIndex, NaT, PeriodIndex, Series, Timedelta, Timestamp
  import pandas._testing
  import pandas.core.common
label_desc: Use image node_id 3 for calling a global function with example usage: non_coercible_categorical(monkeypatch) without return types