Doesn't Python treat all empty iterables as false tho? This isn't unique to python, is it? (though I'm not a programmer...just a dude who writes scripts every now and then)
My point is that the second statement you presented can have the effect of evaluating emptiness of a Sequence (note: distinct from an Iterable), but that only holds true if the target of the conditional IS a sequence. I’m underlining the semantic difference that was elided as a result of falsey evaluation.
thing: Sequence[Any] iirc is iterable, indexable, and reversible.
thing: Iterable[Any] only guarantees that its iterable - and note that iterating can sometimes have the effect of consuming the iterable (e.g. when working with streaming interfaces)
Not really, generators have weird truthiness, i don't remember if they evaluate to true or false, but they cannot be checked for emptiness so they default to either always true or always false.