Я не понимаю, как может что-то как Set быть неизменным и все еще иметь приемлемую производительность.
Из того, что я читал в F # Наборы внутренне используют Red Black Trees в качестве их реализации. Если каждый раз, когда мы хотим добавить что-то новое в Красное Черное дерево, мы должны в основном воссоздать его, как он может иметь хорошую производительность? Что мне здесь не хватает?
Хотя я спрашиваю об этом для наборов F #, я думаю, что это так же актуально на любом другом языке, который имеет или использует неизменяемые структуры данных.
Спасибо