arg throws away common parts of re and im parts

With these changes, something like arg(3*(a+I*b)) now simplifies to arg(a+I*b).
can't we use something like `arg(cancel(x/y) + I)`?