``` unison lib.foo0.lib.bonk1.bar = 203 lib.foo0.baz = 1 lib.foo1.zonk = 204 lib.foo1.lib.bonk2.qux = 1 mybar = bar + bar ``` ``` ucm Loading changes detected in scratch.u. I found and typechecked these definitions in scratch.u. If you do an `add` or `update`, here's how your codebase would change: ⍟ These new definitions are ok to `add`: lib.foo0.baz : Nat lib.foo0.lib.bonk1.bar : Nat lib.foo1.lib.bonk2.qux : Nat lib.foo1.zonk : Nat mybar : Nat ``` ``` ucm myproj/main> add ⍟ I've added these definitions: lib.foo0.baz : Nat lib.foo0.lib.bonk1.bar : Nat lib.foo1.lib.bonk2.qux : Nat lib.foo1.zonk : Nat mybar : Nat myproj/main> upgrade foo0 foo1 I couldn't automatically upgrade foo0 to foo1. However, I've added the definitions that need attention to the top of scratch.u. When you're done, you can run upgrade.commit to merge your changes back into main and delete the temporary branch. Or, if you decide to cancel the upgrade instead, you can run delete.branch /upgrade-foo0-to-foo1 to delete the temporary branch and switch back to main. ``` ``` unison:added-by-ucm scratch.u mybar : Nat mybar = use Nat + use lib.foo0.lib.bonk1 bar bar + bar ```