Doesn't the fact that the address of a subroutine argument can be taken and passed to other routines pose problem for leaving arguments in registers?