If you pass a record (advanced or not) as parameter, then this is passing the actual data => you hand over a copy.
Records (unlike classes) are not passed by reference.
Though apparently advanced record in "self" is passed by ref (and needs to be => it is a "var param")
"const arec: TTEst"
allows the compiler to choose between copy or ref. Apparently for the specific record a copy was passed.
"constref" forces a ref. (same as "var param")