What does Identifiable bring to SwiftUI, over Hashable?

For example, List and ForEach don't give warnings when hash collisions occur. So what's the need; why require something with a Hashable value, rather than just something that is itself Hashable? At what point will SwiftUI fail due to collisions?

I understand the flexibility of having a protocol to add indirection to a hashable property, but why don't we have overloads that directly support Hashable-element collections ?
What does Identifiable bring to SwiftUI, over Hashable?
 
 
Q