I'm not convinced we're actually saving much, though, because `__weak` variables come with an allocation and performance cost of their own. I'd much rather restrict weakness to where the extended lifetime has harmful effects.