Does capturing self inside this closure create a retain cycle?struct Counter { var value = 0 var snapshot: () -> Int { return { self.value } } }