Why are the ClearWeak() calls necessary? At this point, they're all non-weak, right?