async def __aenter__(self):
    if self._managed:
        raise errors.InterfaceError('cannot enter context: already in an `async with` block')
    self._managed = True
    (await self.start())
    return self
async def __aenter__(self):
    if self._managed:
        raise errors.InterfaceError('cannot enter context: already in an `async with` block')
    self._managed = True
    (await self.start())
    return self