Reading a bit more closely, `Branch.merge` wouldn't be the right name, but I like the idea of having a single method to call that basically means 'bring this branch in to another' and have that figure out the way to do it. Then if another approach comes along we don't have to update multiple places.