code: def _instance_callable(obj):
      
      if not isinstance(obj, ClassTypes):
          # already an instance
          return getattr(obj, '__call__', None) is not None
  
      klass = obj
      # uses __bases__ instead of __mro__ so that we work with old style classes
      if klass.__dict__.get('__call__') is not None:
          return True
  
      for base in klass.__bases__:
          if _instance_callable(base):
              return True
      return False
docs: Given an object, return True if the object is callable.
      For classes, return True if instances would be callable.