async はミスリーディングだったかもです。空で書けてぱっと出てくる @escaping な高階関数が DispatchQueue.async だっただけですねfoo とかにしておいた方がよかったかも。[weak self] 書いておかないと内側のクロージャ式で誤ってそのまま self 使ってしまいそうな・・・。まあ、 [weak self] 書き忘れでも同じことにはなるんですが。個人的には wself の名前問題も発生しないし、 [weak self] 繰り返しの方が好みですね。