Why Isn't Every Data Type Hashable?