Returns a new ArrayMap which has added the given key, or the current map if the key was already in the map.