My personal use case is to allow different configured loggers to be injected into different parts of your application.
In the early stages of the frameworks bootstrap process. Laravel creates an instance of Monolog and binds it to the alias ‘log’. This instance can be configured using a custom function or one of Laravel’s presets. Any time your application depends on ‘log’ or one of its orthonyms (e.g Psr\Log\LoggerInterface) this instance is served.
With the proposed change it would be possible to override this instance for any class using the container to inject a logger. By creating a contextual binding we could increase the logging level of a particular class or redirect log messages to a different recipient without affecting the rest of the application. Deleting the contextual binding for the class would then see it resume with the standard logger.
I believe this pull request is currently being reviewed.