MapWithKey uses the key, not the value

Also emphazise that it modifies values, not keys

Closes #433