upgrades.deployProxy did *not* deploy proxy (confused, fun puzzle?)

It did error, it did inform me that it timed out and to rerun the function... but I think rerunning the function errored because there wasn't enough funds in the wallet.

I think I deduced what happened based on remembering this:
There was not enough ether in the wallet to deploy the proxy admin after deploying the implementation.
I could not later deploy the proxy admin as client began interacting with the contract.

It would be nice to have some kind of gas estimator that covers both implementation + proxyAdmin deploys so other people aren't surprised by this