handle hashes with a mixture of different types of keys