> Need to iterate over a collection of things?
Iterable[T]
> Want to create a data object that maps any hashable type to just about anything else?
Mapping[T, U]
> Need to iterate over a collection of things?
Iterable[T]
> Want to create a data object that maps any hashable type to just about anything else?
Mapping[T, U]
Beyond the advantage that a type-checker/linter can tell if you're doing the right thing when writing those functions, it lets an IDE infer what type you're iterating over, in order to provide more support/completion/hinting/checks (without recursively analyzing arbitrary code, so: 'instantly' vs 'maybe not ever).