all methods throw exception if key is not a string. Also any-type-of-key map implementations listed in markdown