code: def test_dir_bound_method(
      fast_and_intermediate_with_doc,
      slow_and_intermediate_with_doc,
      check,
  ):
      """This test will fail because dir for bound methods is currently
      incorrect, but we have no way to fix it without materializing the slow
      type, which is unnecessarily expensive."""
      Fast, FastIntermediate = fast_and_intermediate_with_doc
      Slow, SlowIntermediate = slow_and_intermediate_with_doc
  
      Pxy = make_final_proxy_type(
          "Pxy",
          Fast,
          Slow,
          fast_to_slow=lambda _: Slow(),
          slow_to_fast=lambda _: Fast(),
      )
  
      IntermediatePxy = make_intermediate_proxy_type(  # noqa: F841
          "IntermediatePxy",
          FastIntermediate,
          SlowIntermediate,
      )
      assert check(Pxy, Slow)
  
imports: import inspect
  from functools import partial
  from io import StringIO
  import numpy
  import pytest
  from cudf.pandas.fast_slow_proxy import _fast_arg, _FunctionProxy, _slow_arg, _transform_arg, _Unusable, make_final_proxy_type, make_intermediate_proxy_type
label_desc: Use image node_id 20 for calling a global function with example usage: test_dir_bound_method(fast_and_intermediate_with_doc, slow_and_intermediate_with_doc, check) without return types