~polymorphic~ bags -- update 6

I know that the type changes I've made aren't 100% correct because they
assume lefty and righty will be notEmpty, but I'm trying to work around
it so that rebalance works
~polymorphic~ bags -- update 7

more type changes...now need to reconcile the interface