avoid overflow
key can be null
hashing speedup
more scalable using distinct keys, one per map call
pass other args
always convert returned value to keyval
hash failed on repetitive input