Yeah, I think pass-by-reference is about the dumbest part of most languages that support it.
In FORTRAN it was so bad you could accidentally change the value of CONSTANTS like "4" if you weren't careful...