That's a
good idea. I could ease the restriction on the target
being empty to allow the move if the target is a redirect to
the source page, with no other content and no history.
Sometimes redirects have histories (there were two articles on a
topic, then
they were merged and one turned into a redirect). In
that case, the two
histories should be exchanged. Can you do that?
The redirects created by the "move" function will not, because
it will have been non-existent. If there's history on both ends,
then you'll just have to swap content the old fashioned way.