One weird Swift trick to not have to come up with silly and inconsistent names for the unwrapped weak self:

iMightOutliveSelf { [weak self] in
  guard let `self` = self else { return }

Fellow developers might hate you for doing this, for it is a Swift compiler bug. Swift does allow backticks to use a otherwise reserved word in other cases though.