Is that true? I thought most functional programming languages did call-by-reference. I mean, if you have immutable data you can't tell the difference (outside of performance).
Under the hood it's probably by reference, but the semantics are by value. By reference indicates that the original value
can be changed in the called function.