I don’t do pure FP, but do value the scala concept to write immutable by default unless there’s a good reason not to (usually efficiency, inner-loop stuff). While refactoring old code (most was originally java) I gradually convert vars to vals, but the old mutable code still works too, it’s multi-paradigm. What matters most for reasoning is readability, scala3 really helps with this.
I don’t do pure FP, but do value the scala concept to write immutable by default unless there’s a good reason not to (usually efficiency, inner-loop stuff). While refactoring old code (most was originally java) I gradually convert vars to vals, but the old mutable code still works too, it’s multi-paradigm. What matters most for reasoning is readability, scala3 really helps with this.