Hi folks, long shot of people knowing it, but maybe? In Python, there is a DI system called the Zope Component Architecture. It works a lot like Integrant (and was one of the first of such systems back in the 90’s in its first version). It’s true brilliance is that you can get components out by adapter look up. In essence you can say for example: “I (the web controller) want the database component that fulfills this job.” and the ZCA will take into account the interfaces attached to what you are after and who is doing the requesting.
I’m curious to now if any of the clojure component systems do something similar, or if anyone here is familiar with the ZCA, what would be equivalents or replacements. It was a very nice way to write “clean architecture” systems. The Pyramid and Repoze frameworks were based on it in Python, which were very similar in spirit and style to Kit from what I can see.