> We can add a command `package-update', or add an extra optional
> argument (something like `update-if-installed').

If adding an optional argument is an option, then is there a good
reason not to have an optional argument that would specify the exact
archive (from `package-archives') to install from? That seems to be
the most straightforward solution.