Reference parameters pass the handle to the original object store (variable, property, another parameter, any L-Value, etc) so that changes made are stored to the original and no copy is made for complex objects.
I don't know why trancexx would expect an R-Value to work.