@RoboRobok The simple key bindings are just for convenience, and therefore a matter a preference.
Think of the container as a dictionary. You put something at a key, and you can reference that key to get its corresponding value. It just so happens, if your key is the name of an interface, you can type-hint it in a class and Laravel knows to fetch what’s set for that key.
Therefore, if you want to type-hint an interface and get a concrete implementation you can, but you can also bind to a simple key and access it using app($key).
I, personally, don’t set any values like this. I’ll bind classes to interfaces for dependency injection.