it's very common when designing an API to accidentally use list or set as a type annotation for an input parameter even though the function never actually mutates the value:
def print_values(values: list[int]):
for value in values:
print(value)
it would be nice if ruff had a rule to suggest using one of the wider immutable collection types instead:
`values` is not mutated in the function body. consider a wider type such as `Sequence[int]` instead
since the builtin types are far more commonly used than the ABCs, it's easy to forget about them when designing an API. i've seen many third party libraries do this, which often causes unnecessary variance issues for downstream users (for example microsoft/playwright-python#1953)