code: def iscoroutine(obj):
      """Return True if obj is a coroutine object."""
      if type(obj) in _iscoroutine_typecache:
          return True
  
      if isinstance(obj, _COROUTINE_TYPES):
          # Just in case we don't want to cache more than 100
          # positive types.  That shouldn't ever happen, unless
          # someone stressing the system on purpose.
          if len(_iscoroutine_typecache) < 100:
              _iscoroutine_typecache.add(type(obj))
          return True
      else:
          return False
  
file_path: catboost/contrib/tools/python3/src/Lib/asyncio/coroutines.py
imports: import collections.abc
  import inspect
  import os
  import sys
  import traceback
  import types
label_desc: Use image node_id 3 for calling a global function with example usage: iscoroutine(obj) and returns: True, True, False