bugfix: can't walk the weak index without leaving strong refs behind!