Я думаю, что в Erlang-е должна быть unsafe(можно даже куски кода, работающие с мутабельными данными помечать unsafe, как в Rust-е для unsafe кода) мутабельная структура данных для таких случаев, которая сохраняет структуру в памяти один в один, как в неё пишешь, т.е. чтобы можно было при передачи её в C код - как из массива читать и заполнять и прямо в Erlang-е изменять in place. Чтобы там, где нужно переключаться на мутабельность - не используя для этого Rust/C/подставить свой язык. Это открывает может быть и немного опасный путь, но даёт очень сильный инструмент в опытные руки на те случаи, когда оная действительно очень нужна.
Что думаете по этому поводу?