Řekl bych, že to zmatení s immutable a víc vlákny je z tohoto pohledu:
Mám immutable data, řekněme číslo 5 někde, a mám dvě vlákna, které mají referenci na tu 5 (obě vlákna drží ukazatel na stejnou adresu), pokud obě provedou příčtení čísla 2 , tak dojde k copy on write, obě vlákna ukazují na číslo 7, ale na dvou místech (a pokud původní 5 už nikdo nedrží, likviduje ji GC). Gamer se ptá, jak udělat, aby když ty dvě vlákna to přičtení udělají, aby viděly výsledek 9....
Ano, já si taky myslím, že tak nějak ta gamerova představa je. Jenže tohle se prostě ve FP neděje, to je představa přenesená z imperativních jazyků. Ve FP se nepracuje s žádnými referencemi v tomhle smyslu. Pokud mám dvě funkce f1 a f2, jedna přičítá jedničku a druhá dvojku, a předhodím jím tentýž stav (5), tak mi prostě jedna vrátí 6 a druhá 7, to je správně a má to tak být. Jak jsem říkal, není to nic jiného než starý dobrý
https://en.wikipedia.org/wiki/MISD Pokud chci ty funkce na stav aplikovat postupně, tak to opravdu musím udělat postupně - f1 mi vrátí 6 a potom aplikuju f2, která mi vrátí 8. V jazycích, které mají speciální vlastnosti (Haskell) si pak taky můžu hrát třeba s tím, že na pořadí aplikace nezáleží, můžu f1 a f2 snadno sloučit do jedné operace atd. atd. Mám tam úplně jiné možnosti a proto bych jich měl využívat a ne psát kód imperativním stylem a divit se, že mi to nefunguje podle představ...
Mimochodem, když mám immutabilní stav a ten MISD model, tak můžu dělat jednu krásnou věc: spekulativní výpočet. Čili něco, o čem si mutabilní přístup může nechat tak leda zdát

Opět: je ale potřeba to umět využít a využívat...
...a pokud bych to skutečně chtěl udělat takhle, pomocí nějakého typu reference, tak třeba v Elixiru/Erlangu se na to právě používá actor (agent) - ten drží jedinou kopii dat a provádí nad němi dané operace. Takže obě vlákna drží nějakou referenci na actor (stačí jeho jméno) a posílají mu instrukce, jak má stav měnit. Actor to pak dělá ve vlastním vlákně, klidně asynchronně, původní vlákna dostanou zprávu, až je to hotovo, mezi tím můžou dělat něco jiného klidně.
Prostě možností, jak to celé uspořádat, je bambilion a připadá mi, že gamer se upnul na jednu představu, která ještě ke všemu moc neodpovídá realitě.
(A nebo se možná úplně pletu, gamer přesně ví, o čem mluví, a má pravdu. Pak by to ale chtělo líp vysvětlit pro nás méně chápavé.)