I'm not a fan of this pattern at all, for two reasons:

1. it implies that importing a app package is without consequences, which is not true if you think about app packages as normal Python packages. We shouldn't limit the use of Python shell features like `help(<app_module)`. This is hindered by the fact that this piece of code promotes importing `django.core.apps.base.AppConfig` inside of app package `__init__.py`'s which in turn triggers the settings system (due to importing `django.core.apps.cache.app_cache` in `django/core/apps/__init__.py`).

2. you're giving two options for specifying an `AppConfig`, one implicit, one explicit. Only the latter should remain to reduce the amount of confusion and abuse of this new feature.