<div dir="ltr"><span style="font-size:13px">I like Kenny and Kurt&#39;s points about handling the majority case and keeping the syntax simpler.</span><br style="font-size:13px"><div style="font-size:13px"><br></div><div style="font-size:13px">I feel like most of the time I want to break a retain cycle is for a completion block which returns void. Can we just handle that case and get rid of the else?<br></div><div style="font-size:13px"><br></div><div style="font-size:13px">Also, I don&#39;t think [guard self] is self explanatory enough. I think weak should be in there so it&#39;s much more obvious you are doing the weak/strong dance with self, otherwise it looks like you are guarding against a regular optional being nil.</div><div style="font-size:13px"><br></div><div style="font-size:13px">So:</div><div style="font-size:13px"><br></div><div style="font-size:13px">[guard weak self, other]</div></div>