@Override
  public @NotNull FMap<K, V> plus(@NotNull K key, @NotNull V value) {
    if (value.equals(myMap.get(key))) {
      return this;
    }
    Map<K, V> newMap = new HashMap<>(myMap);
    newMap.put(key, value);
    return new MapBackedFMap<>(newMap);
  }
@Override
  public @NotNull FMap<K, V> plus(@NotNull K key, @NotNull V value)