@djsumdog @array @Pixificial
i think TCL does this very nice (if one ignores the arcane "arrays") and the standard library is consistent. to pass by name/reference you pass the variables name and in the called function use https://www.tcl.tk/man/tcl8.7/TclCmd/upvar.html . so it's always pretty clear when things are read-only (a $value) or can be modified.