// assumes map never contains null values
static <A, B> AutoCloseable tempMapPut(Map<A, B> map, A key, B value) {
  if (map != null && key != null && value != null) {
    B old = map.put(key, value);
    ret -> mapPutOrRemove(map, key, old);
  }
  null;
}