docs: async def enter_async_context(self, cm):
          """Enters the supplied async context manager.
          If successful, also pushes its __aexit__ method as a callback and
          returns the result of the __aenter__ method.
          """
          _cm_type = type(cm)
          _exit = _cm_type.__aexit__
          result = await _cm_type.__aenter__(cm)
          self._push_async_cm_exit(cm, _exit)
          return result