The code looks like it just discards the second alias. If there is such a conflict, we should report an error.
Additionally, we should add functionality for users to have conditional alias switching to support use cases like subbing out init systems.