Suppose a programming language adopts parameter passing by name. How can you change the code in the swap subroutine so that it swaps the values of two arguments, even when the arguments are i and a[i]? Is this possible at all without using extra space beyond the temporary local variable?