@SafeVarargs
  private static <K,V> Map<K,V> concat(Map<? extends K, ? extends V> map, Map.Entry<K,V>... additional) {
    Map<K, V> r = new HashMap<>(map);
    r.putAll(Map.ofEntries(additional));
    return Map.copyOf(r);
  }
@SafeVarargs
  private static <K,V> Map<K,V> concat(Map<? extends K, ? extends V> map, Map.Entry<K,V>... additional)