I suspect that — late at night, tucked in for a slumber after toiling all day in the processor — injected dependencies dream they are first class functions, their service interfaces dream they are function signatures, and the objects into which they are injected dream of being curried functions to which some dependency arguments have already been partially applied.