The key is almost always some kind of string
Some languages fake up support for nonstrings
By translating nonstrings to hopefully-unique strings behind the scenes