static AutoCloseable mapPutStrictlyOrFail(Map map, A key, B value) {
if (!(map != null && key != null && value != null)) null;
B old = map.get(key);
if (old == null) {
map.put(key, value);
ret -> map.remove(old);
}
if (eq(old, value)) null;
fail("Can't overwrite key " + key + " (old value: " + old + ", new value: " + value);
}