code: async def do_teardown_appcontext(self, exc: Optional[BaseException]) -> None:
          
          for function in self.teardown_appcontext_funcs:
              await function(exc)
          await appcontext_tearing_down.send(self, exc=exc)
docs: Teardown the app (context), calling the teardown functions.