KeyValueCollection
hasher
comparison