there is a typo -- `self._loop` may be `None`; should be `loop` from line 80