code: def test_fast_slow_arg_recursion(final_proxy):
      fast_x, slow_x, x = final_proxy
  
      def foo(n):
          if n <= 0:
              return x
          else:
              return bar(n - 1)
  
      def bar(n):
          return foo(n - 1)
  
      assert _slow_arg(foo)(0) == slow_x
      assert _slow_arg(bar)(1) == slow_x
      assert _slow_arg(foo)(1) == slow_x
      assert _slow_arg(bar)(2) == slow_x
      assert _fast_arg(foo)(0) == fast_x
      assert _fast_arg(bar)(1) == fast_x
      assert _fast_arg(foo)(1) == fast_x
      assert _fast_arg(bar)(2) == fast_x
  
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 10 for calling a global function with example usage: test_fast_slow_arg_recursion(final_proxy) and returns: foo, x, bar