docs: def isiterable_notstring(value):
      """
      Returns True if the value is iterable but not a string. Otherwise returns False.
  
      :param value: Value to check.
      """
      if isinstance(value, str):
          return False
      return isinstance(value, Iterable) or isgeneratorfunction(value) or isgenerator(value)