From your comment I gather you're new to FP. Same here, but with around 20 years of OO experience, I really struggle to understand what idiomatic FP code should look like - was wondering how you'd coped on that front?
I don't have a direct answer to your question, but once I've played with Elixir a bit a couple years ago on simple projects, the whole FP paradigm clicked, and now I'm writing Elixir full time and immutability/functional programming has become second nature. Everything's just a matter of transforming data from one shape to another.