@Override
    public @NotNull <T> ResolveState put(@NotNull Key<T> key, T value) {
      return new ManyElementResolveState(this, key, value);
    }
@Override
    public @NotNull <T> ResolveState put(@NotNull Key<T> key, T value)